Nolvadex 10mg Pills $156.00

ActionScript 3.0 Flash

Nolvadex 10mg pills $156.00 This topic came up when someone asked me how (if it was possible) to instruct one movie clip to start playing after another has stopped.  For example, nolvadex 10mg pills $156.00 the main timeline does its thing, nolvadex 10mg pills $156.00 humming along, nolvadex 10mg pills $156.00 when it suddenly comes to a keyframe that contains a nested movie clip.  A simple stop() action in that keyframe tells the main timeline to rest where it is, nolvadex 10mg pills $156.00 and the nested movie clip starts playing on its own.  When the nested clip hits the last frame of its own timeline … that’s when the main timeline needs to start moving again.  How to do that?

Nolvadex 10mg pills $156.00 In my reply, nolvadex 10mg pills $156.00 I said there were a number of possible ways.  You could set up a loop, nolvadex 10mg pills $156.00 for example — MovieClip.onEnterFrame (AS2) or Event.ENTER_FRAME (AS3), nolvadex 10mg pills $156.00 maybe setInterval() (AS2) or the Timer class (AS3) — and in that loop, nolvadex 10mg pills $156.00 check the current frame of the nested movie clip against the number of its total frames.  In AS2, nolvadex 10mg pills $156.00 that would be a comparison of _currentframe to _totalframes; in AS3, nolvadex 10mg pills $156.00 currentFrame to totalFrames.  When the former equals the latter, nolvadex 10mg pills $156.00 invoke MovieClip.play() on the main timeline and quit the loop.

Nolvadex 10mg pills $156.00 But much easier than that, nolvadex 10mg pills $156.00 and less processor intensive, nolvadex 10mg pills $156.00 is simply to put a keyframe script in the last frame of the nested movie clip, nolvadex 10mg pills $156.00 telling its parent (the main timeline) to play.  In AS2, nolvadex 10mg pills $156.00 that would be this._parent.play();.  In AS3, nolvadex 10mg pills $156.00 this.parent.play(); (no underscore on parent).  Ah, nolvadex 10mg pills $156.00 but there lies a problem.  The AS3 version, nolvadex 10mg pills $156.00 which is technically correct, nolvadex 10mg pills $156.00 causes a compiler warning:  1061: Call to a possibly undefined method play through a reference with static type flash.display:DisplayObjectContainer.  What on earth? 

What’s going on?

Nolvadex 10mg pills $156.00 Thankfully, nolvadex 10mg pills $156.00 that error message gives a very useful clue.  Forget the cryptic 1061, nolvadex 10mg pills $156.00 forget “static type” blah blah.  The useful parts are “undefined method play” and “DisplayObjectContainer.”  Essentially, nolvadex 10mg pills $156.00 this is saying, nolvadex 10mg pills $156.00 “Hey, nolvadex 10mg pills $156.00 you’re pointing me to an instance of the DisplayObjectContainer class and asking me to invoke a play() method on it.  There is no play() method in this class, nolvadex 10mg pills $156.00 bub, nolvadex 10mg pills $156.00 so what am I supposed to do?”

Nolvadex 10mg pills $156.00 If you look up the DisplayObjectContainer class in the ActionScript 3.0 Language and Components Reference, nolvadex 10mg pills $156.00 you’ll find that indeed, nolvadex 10mg pills $156.00 the class doesn’t support the method play().  That’s a MovieClip method.  But wait … shouldn’t the expression this.parent — as stated by a movie clip in the main timeline — point to a valid MovieClip reference?  To be fair, nolvadex 10mg pills $156.00 DisplayObjectContainer is indeed an ancestor in MovieClip’s family tree.  MovieClip extends Sprite, nolvadex 10mg pills $156.00 which extends DisplayObjectContainer, nolvadex 10mg pills $156.00 but the main timeline certainly is a movie clip.  In fact, nolvadex 10mg pills $156.00 you can prove it.

Nolvadex 10mg pills $156.00 Create a new ActionScript 3.0 FLA, nolvadex 10mg pills $156.00 draw a quick shape and convert it to a movie clip symbol.  Enter its timeline and, nolvadex 10mg pills $156.00 in frame 1, nolvadex 10mg pills $156.00 type trace(this.parent is MovieClip); (is replaces instanceof in AS3).  Test your movie and keep an eye on the Output panel.  Sure enough, nolvadex 10mg pills $156.00 Output panel says true.

Nolvadex 10mg pills $156.00 So what gives?  If the expression this.parent points to a valid MovieClip instance, nolvadex 10mg pills $156.00 why isn’t Flash smart enough to allow for the invocation of a MovieClip method, nolvadex 10mg pills $156.00 such as play(), nolvadex 10mg pills $156.00 on that instance?  Honestly, nolvadex 10mg pills $156.00 that’s a good question.  It’s so good, nolvadex 10mg pills $156.00 I can’t answer it.  But I do know how to get around it.  ;)

The “unsafe” workaround

Nolvadex 10mg pills $156.00 That overly cautious error message is the result of Flash CS3’s default strict mode for the compiler.  I don’t recommend the following change, nolvadex 10mg pills $156.00 but if you simply want to turn off the warning (along with a bunch of other useful warnings, nolvadex 10mg pills $156.00 all in one shot), nolvadex 10mg pills $156.00 head over to File > Publish Settings > Flash tab, nolvadex 10mg pills $156.00 then click the Settings button.  Remove the checkmark from Strict Mode and you’re done.  Test your code and it’ll work just fine — because (in this context) this.parent really is a MovieClip reference.

Nolvadex 10mg pills $156.00 Again, nolvadex 10mg pills $156.00 experiment with that if you like, nolvadex 10mg pills $156.00 but I really don’t recommend it.  By turning off strict mode, nolvadex 10mg pills $156.00 you may be tempting yourself to write lazy code, nolvadex 10mg pills $156.00 and sooner or later, nolvadex 10mg pills $156.00 especially in AS3, nolvadex 10mg pills $156.00 that will bite you with a set of sharp teeth.  And it’ll happen on a day when your boss is breathing down your neck.

The better workaround

Nolvadex 10mg pills $156.00 I call this one “better” because, nolvadex 10mg pills $156.00 by using it, nolvadex 10mg pills $156.00 you end up demonstrating that you know how to be sensitive to the compiler, nolvadex 10mg pills $156.00 paranoid as it may occasionally be.  The better you know what the compiler needs, nolvadex 10mg pills $156.00 the likelier you’ll master the language.

Nolvadex 10mg pills $156.00 We already know, nolvadex 10mg pills $156.00 even if the compiler doesn’t seem to, nolvadex 10mg pills $156.00 that the expression this.parent — in this context! — does refer to a MovieClip instance.  We’re simply going to tell the compiler that.  By casting that expression as a MovieClip, nolvadex 10mg pills $156.00 you’re effectively saying, nolvadex 10mg pills $156.00 “Trust me on this one; this is a MovieClip.”  Casting is done like this:

MovieClip(this.parent).play();

Nolvadex 10mg pills $156.00 Note that only the object reference, nolvadex 10mg pills $156.00 this.parent, nolvadex 10mg pills $156.00 goes inside the parentheses.  The new combined expression, nolvadex 10mg pills $156.00 MovieClip(this.parent) gets .play() (with the leading dot) tacked on to the end, nolvadex 10mg pills $156.00 and even with strict mode on, nolvadex 10mg pills $156.00 that’ll do it.

Nolvadex 10mg pills $156.00 That goes for any MovieClip class member, nolvadex 10mg pills $156.00 by the way, nolvadex 10mg pills $156.00 not just play().  All the cast does is let the compiler know it’s truly dealing with a MovieClip, nolvadex 10mg pills $156.00 so any MovieClip feature is covered.

Average Rating: 4.4 out of 5 based on 271 user reviews.

Leave a Reply