ActionScript 3.0 :: Changing An Instance With Interval?
Oct 14, 2009
im with a kind of a deal here... i havent wrote any code on this subject yet, and im not quite asking for the exact code of it, Ok my idea is this, i wanna create some sort of a timed slide show using the values of an array
I want to show images that am calling from xml file into flash, I want to show them each after a certain time interval, I want to do this in AS3 How it can be done?
We have a flash game being developed in actionscript 3 and it runs much more slowly on our remote server.The game specs:-8 different movie clips, all 1 frame static png files from 10x10 to 100x100anywhere from 10 to 60 instancesof those MCs on screen at any given timeevent loop is run from a flash Timer at 25msall interaction is via the keyboardThe strange thing is, we publish the swf file and run it locally and everything is fast.We copy the swf to a remote server and everything runs much more slowly. The music plays at normal speed, but the movieclips all move around the screen at about half speed.
Why would the file run differently when fetched from a remote server? Isn't the swf always being run locally anyway? Also, we ran it locally and remotely with the task manager running and it does not seem to consume much CPU or memory.EDIT: Ok, this is really weird. I added a framecounter textfield to the game. It reports the number of ms since the last timer tick. It consistently reports 50ms. My timer is clearly set to 25. This explains the half speed, but what explains this? I also added a check on the timer.Interval property to see if it had changed and it hasn't; it's still set to 25 while the game is running.ode to use ENTER_FRAME instead of timer, and it works. I get the full 40fps, give or take a few %. Still not sure what's wrong with the timer though; if it was being delayed by the time spent in my loop it would fluctuate, but it doesn't. It's 50ms every time no matter how much is going on.Here's the code I'm using(more or less):
t = new Timer(25); t.addEventListener(TimerEvent.TIMER, timerTick); t.start();
I have a FLA in which I've added three movie clips, each with a unique name. I've set the MC name through the properties panel as well as giving the MC a name when converting it from a image to a MovieClip (by clicking F8).
When I run the swf and output the names of the children in the swf, I find that the name of one of the MovieClips changes, for example from myFirst_MC to instance8.
To output the MovieClip names I loop through all the children of the swf and output the name like this:
for(var i:uint=0;i<numChildren;i++){ var display:DisplayObject = getChildAt(i); trace( display.name ); }
Why does the instance name of a MC change? And how can I stop this from happening?
I'm confused about changing an instance's animation. I'm working on a really simple game to learn AS3 and I've got the controls down, but don't know how to change the animation of the player instance. I have movieclips for different animations, which I assume I should, but don't know how to switch the instance's appearance between them.
When you're in the flash application, you can watch the properties of an instance. In the properties tab, you can also click "Swap", this will ask you about which instance you would like to use. The original object will now change into another movieclip. So, how do I do this with Action Script?
I have a variable called "framenumber" and a movieclip(drawing) with six frames. Each frame of the movieclip has another drawing in it.In the main movie, this movieclip exists over several frames and keyframes. I even do a motion tween with the clip. Now what I want to do, is change the value of framenumber (for example 2) and then do a drawing.gotoandstop(framenumber). So then, the drawing in frame 2 of the movieclip should be shown. But here comes the problem. If I do that,the drawing (in frame 2 of the movieclip) only appears in the frame of the main movie where I put the drawing.gotoandstop(framenumber) command. But in the other frames of the main movie, the initial drawing is kept. How can I let the drawing change everywhere where the movieclip exists? So actually I want to know how I can change every instance of a movieclip, no matter where it is in the movie. Or maybe there's a way to change the (library) symbol itself, so that every instance of it changes along with the library symbol?
using the same event for 8 buttons. i have instance names b1,b2,b3..b8 im loading external swf with replacing instance names p1.swf... that code is in the hovernewStr= StringUtil.replace(evt.target.name, "b", "");when hover i get external swf name myswf="p"+newStr+".swf";there is no problems here. but i have problem with click function. my instance name b1 is changing by flash with instance19.
i'm playing around with Senocular's brilliant transform tool. Here's the code that I'm having issues with - it targets the instance name, which is great and works perfectly.
Here's the issue. When I have an MC placed on the stage with the instance name of 'pasteBoard' the above code (which tells the transform tool what to transform), works just great. However, when I place the MC on the stage with AS and name it, the transform tool can't find it . Here is the code I'm using to place the MC:
ActionScript Code: var pasteBoard:_pasteBoard = new _pasteBoard(); addChild(pasteBoard); pasteBoard.name = 'pasteBoard'; pasteBoard.x=128.00; pasteBoard.y=300.00;
Now, surely this should work as I'm even giving it an instance name? But it does not, it does not work even with no instance name, or when the class object name is different than the instance name. Weird huh? Surely this should work just fine as I'm doing exactly the same thing as placing it on the main timeline, just doing it with code. But the transform tool, referenced by the code at the top of this post, can't find pasteBoard.
Do I need to alter the code at the top to find pasteBoard by class instance? how would I do that?
I've got a frame of code with two boxes on the stage. If you click on of them, it runs this code: ActionScript Code: charSelect=1; And if you click on the other box it runs this code: ActionScript Code: charSelect=2;
Now, on my main frame of code, I've got an init() function which runs all the initialise commands. It includes this: ActionScript Code: function init() //Loads assets to the stage and starts animations { if (charSelect == 1) { character.addChild(character); } if (charSelect == 2) { characterFemale.addChild(character); }}
These functions basically let you select which character is loaded to the stage with the instance name 'character'. All my control code is written in relation to the instance name 'character'. However, after I've clicked the box which selects which character to load to the screen, I get this error message: ActionScript Code: Scene 1, Layer 'Layer 1', Frame 2, Line 155 1061: Call to a possibly undefined method addChild through a reference with static type Class.
I've created a graphic and have multiple instances of the graphic on the stage. I've recently decided to change the graphic to a movieClip. However, changing the original clip's type to movieClip doesn't apply the change to all instances that I've already placed on the stage; they're still all graphics.
The only way I've been able to fix it is by manually selecting each one and changing their instance behavior from 'graphic' to 'movieclip'. Is there a faster way to do this, be it a command or an actionscript code? Anything that doesn't require me manually changing each instance would be a huge time saver.
In the following code I would like to be able to change which object the code affects depending on which parameter name is passed to it:
Code: EventCentral.getInstance().addEventListener(ProjectEvent.SOME_EVENT, handleSomeEvent); function handleSomeEvent($event:ProjectEvent):void
[Code].....
I could write it all out with ifs and else ifs for each parameter but this code is already part of quite a large structure and it would be more elegant to be able to do it with re-usable code.
I'm trying to do it is particularly idiomatic to actionscript anyway
I'm writing a flash movie that creates a few boxes displaying an image that you can flying around the screen with a sort of gravity effect eventually slowing them down. I've managed to do what I thought would be the hard part... I've made a movie clip in which theres a button (to detect the clicks and drags) which contains a graphic (a .png file). After adding some nice bits of code, I can now stick loads of instances of the movie clip on the main stage and then start flinging them round.
Now what I want to do next is change the image displayed on the button in each instance of the movie. Logically, something like : myinstanceofmovie.nameofbutton.mygraphic="name_of_ other_image.png" ...or something...
I have a mc with simple btns inside. the mc is on every frame except one,in which I swapped a similar mc (different colors).I have tried leaving the instance name for the mc the same and also changing the instance name to something else but anytime I navigate to that frame, the buttons quit working.I have tried changing both the buttons and mc instance names to no avail.This is on my main timeline:
Does creating a new instance of an Object that uses an identical name to an older instance, delete the previous instance? Or should the original instance be deleted first? The code uses a ridiculous amount of XML vars. Isn't it less memory intensive to parse the XML and save the properties to an Object, and then delete the XML Object, rather than keep the XML Object around and reference it's child nodes directly? Is it better form to break up a huge XML file (>600lines/3200vars) into smaller chunks?
How do I change the corner radius of a Label component in Flex. Tried applying style name, and the setStyle('cornerRadius',9) methods, but doesn't work. How can I change the arrow image in the combo box control to a different image?
I want to create another button on the main menu of my flash site. I want to take one of the existing buttons (which are set as movie clips) and modify it to show a different menu name and page link. BUT when I go into my library and "duplicate" my movie clip, change the instance name, drag it to the stage and attempt to modify it, the original changes as well. I need to keep the original the same and create a new one with the same code, frames, etc but with different static text. I keep going in circles
I have a library object (SomethingMC) which extends a custom class (Something). Something, in turn, extends MovieClip.If adding SomethingMC to the stage within Flash CS3 IDE, is it possible for it's super class (Something) to assign an instance name from a class constant (Something.THE_CONSTANT)?
The above does not work. It throws Error #2078: The name property of a Timeline-placed object cannot be modified. if the instance is assigned a name in the IDE, and it just doesn't work if no name is assigned in the IDE.
I have a BUNCH of bumpers of four types bounceUp, bounceDown, bounceLeft, bounceRight. during a collision which you hit determines the bounce so they always do the same thing so here's my question.....can i just name every bounceUp instance the same thing and then just add that one instance name to the list the collision detector checks?
i just dont wanna go through and name a hundred each of bounceUp s and bounceDown s individually as the potential for screaming increases proportionally.......
it looks like the problem is that the interval has not been clear so every time i click away from my slide show (for example navigate to my contact swf) and then come back to the slide show the pictures keep looping on top of each other and fading at the wrong times too.
var id, current; var k = 0, p = 0; var slide = 1; function loadXML(loaded) {
I have a problem with setInterval. I have a button; when you press the button three movie clips fade in and slide across screen. When I set the script so the mc's move without button input, everything is fine. But when I try to set it up with an onRelease handler, BLOOIE!
I placed a movie clip instance inside a button, and I want this movie clip to play when the button is released. I'm using this code on the frame containing the button:
function playMovie(event:MouseEvent) { this.theButton.theMC.gotoAndPlay(3);
Does anyone know if it is possinle to scroll a graphic or a movie instance as well as a text instance in flash. I want to scroll text and images as well. Actually text with imges embedded in it.
I am wrapping my brain around OOP in AS2. I am making two posts on two different subjects. My question here is: when should I use local instance variables, and when should I attach new properties to the instance object? (Feel free to correct my terminology.) Let's say I have a class for a scrolling background, which scrolls when I mouse over its edge. I want to put these values somewhere:
1) How wide is the border in which a mouseOver makes it scroll? This is basically a semi-constant I set it up once and keep it the same, unless the user changes it in an options menu to make the border wider or narrower. Call this scrollBorderWidth.
2) How fast is the background scrolling now? I want to track this so I can smoothly change the scroll speed over several frames. This is often changed. Call this scrollSpeed.
It seems I have two ways I can store and access these values and darned if I know which is better practice. METHOD A: Make them local variables in the class, so the scrolling background instance has them as local vars. I set them up thusly:
I am trying to create a Flash file that will export a JPEG file for a certain number of files, using Quasimondo's BitmapExporter class.
I can get it to successfully export 1 image, but I have a problem getting it to export an image for each element in the loop.
I need to pause the script (with an interval perhaps?) to allow the export to finish, then continue and do the same for every element in the loop. (in this case 5 times).
Code: import flash.display.BitmapData; import com.quasimondo.display.BitmapExporter; // This is the bitmap that will be drawn
trying to count key presses in a 30 sec interval. if the number of keypresses is above say 20 in 30 secs they go to a new frame, otherwise they go back to the start and the count begins again. using as2 and flash cs4. very confused.... not sure if onEnterFrame is better than keyListener.
I am working on an eLearning course whereas client requied the course to be keyboard accessible. He wants all the shortcuts with Alt key combination.I can trap the Alt key with the use of enterframe but that makes my course processing heavy so I tried to trap Alt key with keylistener event but unfortunately keylistener event doesn't listen Alt key .how to trap Alt key without using enterframe or interval?