ActionScript 2.0 :: Scope Instances That Haven't Been Instanced In The First Frame Of The Movie??
Jul 14, 2007
is there a way to scope instances that haven't been instanced in the first frame of the movie?I got brave and nested my btn_mc clips inside a nav_mc.On an action layer in the first frame of my timeline I have:
_root.nav_mc.btn1_mc.gotoAndPlay("start");
for example.In the nav_mc timeline this works if and ONLY if the btn1_mc instance is on the first frame of the nav_mc timeline.I'm trying to update my skillz and put everything in the first frame of the root timeline rather than doing the backasswards syntax on the mc itself this (onPress) which really confused me for about five years.
I have the standard drag and drop functionality setup with the MOUSE_DOWN / MOUSE_UP commands. However, if I just click on the item and decide not to drag, it still executes the commands like it was dragged. Is there any code I can put in so that if they decide not to drag the movie clip, the function doesn't fire?
I had a problem recently with as3 and found no answer about this issue, I did a game with a client's container. This container has a custom loader function to load resources, so I loaded a swf with linked movieclip's based classes, these movieclips have frame scripts like stop() and dispatchEvent(..). It actually loads the resources, I instanciate them and their frame script WORKS. Now, I'm making a standalone version without the container:
1 - I load the same swf, using the standard flash loader.
2 - I instantiate the classes and add them to stage.
3 - The framescript is totally missing. The frame scripts like stop(), trace() and etc, aren't executing anymore.
I did a lot of research on the web, and found very few people with the same issue but no answer. I tryed a lot of workarounds but nothing seems to happend, I think is a security-loader issue, but now I am clueless.
i've tried placing the code in the actions pnel of the mc; on the mc at the main time line and in various other unspeakable places... but i always get the same error warning me that this code can only be used in movieclip instances and that my stupidity levels are reaching dangerous levels. (error: 'Symbol=stage_mc, Layer=actions, Frame=1: Line 5: Clip events are permitted only for movie clip instances
onClipEvent(enterFrame){'
i fear somebody will reply to this with:'the code goes on the movieclip instance'...at which point i will take up a career in knitting (i knew i shouldn't have given up the course in the first place)
I have a Debug class I've written, and I'd like to include a static trace() method in there, unfortunately I have no idea how to then access global / top level trace as effectively I've blocked it with the local static scope.[code]
I'm I the only one that can't load [URL] It just loads forever. I somehow found out I can just add "index.html" to get it to load, but my bookmarks, and the links
I have a mc1 in the library and corresponding Actionscript file referenced, but for the life of me, I can't get instanced DisplayObject on the stage (other than physically dragging and dropping the movie symbol on the stage).
Below is the code:
package { import flash.display.MovieClip; public class InnerRing extends MovieClip {
I'm currently working on a project where people can drag different symbols (man, woman, house, building, etc) onto a stage to create a graphical representation of a scenario.
I have been able to make draggable classes with different symbols. What I'm finding difficult is the ability to dynamically change these instanced classes using the color picker.
Example: Let's say the user has added two "man" symbols (being external classes) onto the stage. How would I code the ability for the user to change the color of one man symbol to red and the other to blue. I'm finding it quite difficult to achieve this since both man symbols are from the same class.
I'm making a screensaver where random characters in different positions and sizes walk/run across the screen. It seemed simple enough, and everything appears as they should. However, none of the Movieclips move forward on the stage. Here's the code on the first frame of the timeline, bolded lines are points of possible concern:
Code: import flash.utils.*; var timer:Timer=new Timer(5555); timer.addEventListener(TimerEvent.TIMER, makeCharacter); timer.start(); function makeCharacter(e:TimerEvent):void { [Code] .....
And here's the code found in each movieclip: var isOnStage:Boolean = true; With no errors to go off of, I'm unsure how to proceed.
I can't seem to access instances in a movie clip that aren't on the first frame of a parent movie clip even if I tell flash to go to that frame before I attempt to reference the instance in the actionscript.
Actually this works in flash player 10 but not 9. I could just export for flash player 10 but I would rather know the answer than just avoid it and of course for better compatibility reasons.
I've attached an fla example with source code to show the problem. I'm using CS4 and programming in classes in as3 as you will be able to see from the example.
P.S: the example is saved in CS3 so more people can open it.
Edit: Since there's not alot of code I'll paste it here for people to see.
It's me again and I'm running into a problem. So, I have this movie clip that is nested inside multiple movie clips. I want to tell Flash to perform an action when that movie clip hits another movie clip in the main timeline. It's just collision detection for a game using the hitTestObject code. I was thinking of using MovieClip(root), but that won't work since it's nested so much.
I'm working on building a 'cover flow' similar to the scroll through iTunes uses for it's album covers. The only difference is my 'cover' needs a background MovieClip that will sit behind it and animate when the images are scrolled to get it a 3D effect. So I have a MovieClip I'm exporting called coverflowItem. This is the movie clip that will sit behind each 'cover' image and have the timeline I want to control from a different .as file. That file is called coverflow.as where all of the elements are assembled and animated.
What I need to do now is find out how to control each instanced coverflowItem so when the arrow buttons are clicked, not only do the covers slide to the appropriate side which they are currently doing now, but also have the associated MovieClip play giving the 3D illusion. I can call the functions from the coverflowItem.as in the coverflow.as but have had no luck actually getting the movie clips to play properly.
//Create CoverflowItem var cover:CoverflowItem=new CoverflowItem(_data);
This code lets me assess the functions but not actually manipulate the MovieClip. I'm sure my logic if flawed.
I'm having a problem with removeChild(x) not completing purging the object. I run an if statement to see if the object is null before creating a new one, once I create it the first time it is never null even after I removeChild(x) so the if statement fails.Note: There aren't any external EventListeners in the shop to removethis seems like a simple fix and is driving me up a wall In the parent I start off with a placeholder:
I am trying to get an instance of a class to the load an external swf and show it.So far I have the following:
1) I wrote a class that uses the Loader class to load an external swf "loadExtSWF". 2) I have a fla named "MainSWF.fla" that uses a document class "MainSWF.as". 3) I have the MainSWF.as file that instances "loadExtSWF" and calls loadExtSWF.startLoad to load the swf.
This almost works. The instance of loadExtSWF loads the external swf, but the swf is not displayed.If I replace the fla's document class with loadExtSWF (this has an empty constructor) instead of MainSWF, and run loadExtSWF.startLoad, then the external swf is loaded and displayed.[code]
I want to make the timeline go to the next frame (ie gotoAndStop) only if two button instances are invisible. For the buttons I have scripted an on(release) to make them invisible, but I don't know how to use the if function to make my animation progress when they are both invisible.
if there is a way to use movie clip instances with FOR loops (yeh I'm not skilled with OOP so I premade mc's instead using loadMovie :for example I made manual SwapDepth function between movieclips, I have hero1_mc, hero2_mc,...,hero6_mc and enemy1_mc,..., enemy12_mc. The code looks something like this:
...and so on, code works fine but if I were to write all compares manually it will be thousand lines of code to check each movie clip with each other.So I was wondering is there any way to put those movie clip instances hero1_mc, hero2_mc... into FOR loop like (code doesn't work, if there could be a way to replace numbers with variables):
Code:
for (i=1; i<18; i++) { for (j=1; j<18; j++) { if ("_root.hero"+i+"_mc" > "_root.hero"+j+"_mc") { .......
so I don't have to type all combinations D: so far I haven't found any way to do so, is there any way to make something similar with FOR loop and movie clips? I'm working on my project with AS2.
it possible to set the frame rate of an externally loaded movie to a different frame rate than the movie it is embedded within. I basically have a flash site that loads flash movies using loadMovie command, however, the frame is lost within these movies and simply adopts the main site frame rate.
I'm currently making an animation which will eventually exceed the 16,000 frame limit (don't ask haha), so, short of making two movies and having to just start up the next one, what is the code for loading a movie? I presume they need to be in the same directory? So basically all I want is on the last frame of the movie the code executes and the second movie file opens up and starts. I guess I'd want the current movie to close, too.
I have a movie clip that is simply a rectangle with no stroke color and a fill color of red. I applied a glow filter with a green color and it glows. So far so good. I pulled another instance of the same MC and changed the instance's color to blue by changing the tint. Then I applied the green glow filter but the glow is blue and not green!
I pulled another instance of the MC and changed the instance's color to yellow by adjusting the Advanced effect from the properties of this instance. Then I applied the green glow filter but the glow is yellow and not green! Somehow when I change the instance's color through tint or advanced the glow filter does not work as expected. What is the proper way to change a MC's instance color and apply a filter to it?
The following code gives me an error:1119: Access of possibly undefined property sp1 through a reference with static type flash.display:Sprite.Not sure how to get around this issue... these things used to work in as2, I guess not anymore in as3...
---------------------------------------------------------------------- ------------------------------------------------------- loader = new BulkLoader("timelineLoader");loader.add(ExternalFiles.TIMELINE_SWF);loader.addEventListener(BulkLoader.COMPLETE, onCompleteHandler);loader.start();
I'm creating an XML custom card game and am at the point of building the deck and making them draggable so the user can drag and drop them on top of another card.how to build the deck and put multiple instances of the movie clip that resides in the library, I just cannot figure out a way to make each one of the cards draggable. What currently is happening is the card on top of the deck is the only one that will drag, even if I click on the card below it. I have researched setChildIndex(), but I don't think I am using it correctly.
Another issue I'm having is when the user clicks the click_btn (named for testing only) to build the deck it takes a while to build it, can that be sped up any? Then once the user clicks the first card to drag it there is another long wait?
Document Class (CardGame.as) package library { import flash.display.*;[code].....
The xml file actually has 64 activity card entries and 41 event card entries, but I trimmed it down to make it easier.
I have a placeholderMC and then two instances of that placeholderMC (both with different instance names) in a containerMC. This containerMC is then animated using tweens, not actionscript.
I need to be able to load a JPG, PNG or SWF file using AS2 into the placeholder from a server. At present, loading the movie requires a specific target path which will only load the movie into the one instance. Is there some way I can load the movie into the placeholder without being as explicit in the path, such that it will be loaded into BOTH instances of the placeholderMC in the containerMC?
In laymans terms... I am loading a graphic and using the second instance as a drop shadow reflection under the first. The reflection has a different instance name so that I can cacheAsBitmap and use a gradient on it as a mask at runtime, it is also flipped vertically, so that like a reflection it is upside down.
The other problem I am experiencing is that when the containerMC is removed from the stage during the animation, the movie is unloaded as well and needs to be reloaded if i require the containerMC again. Is there anyway around this or is that native behaviour to flash. Ideally I would like to only have to load the Placeholder images once at the start of the file and then have them available for use as and when they are needed throughout the movie... does this require them to be on the stage the entire time?
For example if I wanted to do something like make a function which is used to spawn multiple instances of an enemy movie clip.[code]do this a specified number of times.How would I go about doing something like this? And what is the syntax for referring to these generated movie clips from outside of the movie clip (so i could do things like remove them, change x/y,alpha, ect, individually)I really just don't have an intuition for how movie clips actually work in actionscript, and its been holding me back a great deal.
I'm running into a roadblock with creating multiple instances of a movie clip. I'm trying to display a series of boxes across the bottom of the stage. The number of boxes are determined by _global.maxStep[_global.sectionNum]. I have a movie clip called StepBox that will serve as the template for each box. In the StepBox movie clip is a dynamic text box called stepNumText, which I want to set to the value of the counter. The problem I have is that I've only ever used attachMovie, but there is no movie for it to attach to. I tried using Content since that's the name of the layer this is in, but I know that doesn't make sense (and it doesn't work).
Code: _global.updateBoxes = function() { var curr_box; for (i = 1; i <= _global.maxStep[_global.sectionNum]; i++) {[code].....