ActionScript 3.0 :: Why Doesn't The Same Function Work From Different Frames
Apr 10, 2009
I'm making an educational software by AS3.I call "part1Act()" from frame1 and everything works very well.But when I call the same "part1Act()" from the frame 58, flash throw me this error.
TypeError: Error #2007: パラメータ child は null 以外でなければなりません。 at flash.display::DisplayObjectContainer/addChild() at L_oni_fla::MainTimeline/loadSnd()[L_oni_fla.MainTimeline::frame2:699] at L_oni_fla::MainTimeline/part1ActT()[L_oni_fla.MainTimeline::frame58:6 7]
I only called the same function from different time frame.The script I wrote is following.
//--------------------- code ---------------------------------//
var progressBar:progressBarL=new progressBarL();
var context:LoaderContext = new LoaderContext();context.applicationDomain=appDomain;var ldSnd0:Loader = new Loader();var ldSnd1:Loader = new Loader();var ldSnd2:Loader = new Loader();var ldSnd3:Loader = new Loader();
I've got some tabs that are filled with an XML attribute named tekst. Now with some basic actionscript, I do a check t see if any attributes are undefined. If so, leave the dynamic textfield blank and set the _alpha of that specific tab at 0; this all works fine.
The only thing I want to achieve is, when say only tabs 1 and 2 are filled, I want to start the animation over after tab 2 has finished. At the moment the animation plays all 5 tabs and then starts over.
I tried a 'simple' myMC.gotoAndPlay(5), but this didn't work. (5 is the framenumber from which the animation must start). I thought maybe I'm calling something that isn't there, so I tried only gotoAndPlay(5); this didn't work either, because my MC with all the animations is not on the .root timeline.
I have a set of Cue Points in an FLV I'm playing. It's an interactive quiz, so the idea is that flash will change a variable, theAnswer, to a different letter depending on which question it is. The answer to question 1 is B, question 2 is D, etc. Either the cue point event listener isn't working, or else it is working and Flash isn't declaring the variables. 1120: Access of undefined property theAnswer. I literally can't find a single problem with my code. I have an almost identical Event Listener further down which works.
I'm programming a dinamic flash/xml website. up until now I've kept the info for the menus and the one for the gallery (the site has a gallery that displays both text and images) in separate xml files. but I'm trying to make all of it work out of a single xml file. I've managed to make the menus and the gallery all go get the info correctly to the xml (text and images), but then I came up with a problem that jeopardizes the whole show: a path inside the xml's onLoad function refuses to work! the code that bears the function has to be placed into the same clip as the clips that contain the text fields to wich info will be passed or it won't do a thing.
supose this is my actionscript code:
Code: var contentSubMenu = new XML(); contentSubMenu.ignoreWhite = true; contentSubMenu.load("example.xml");
[code]....
no information is passed to that clip. If the path targets that clip one should expect it to, right? even if all this code is placed on _root, right? well, it doesn't happen...I tried tracing for info that comes from the xml, but nothing is displayed in the output window.
I've attached a zip file that contains a fla file, an xml file, a txt file with the full chunk of actionscript code and the fonts you'll be needing should you decide to take a look (they're only two).
The fla file has been built in the following manner:
_on the right side, the clips that hold the text fields to wich the contentSubMenu.onLoad function will pass info to are directly placed upon _root (so, following the code example from above, it would be like having var buttonList = _root;)
_on the left side, the clips that hold the text fields are down into buttonListSlide_mc and the contentSubMenu.onLoad function is there as well, only commented so it doesn't display anything.
I am trying to stop a function in as3, I tried: delete.functionName - but it didn't work, I tried to achieve the same things using addEventListener and then removeEventListener, but that is not what I need that function has caurina tweener inside it and it has multiple tweens with multiple delays seconds, so all of the tweens are started and the seconds continue to tween but what I want is to simply stop that by stopping the function which holds the tweener so it should stop everything what is inside that function for example it could stop that function when it is mouse hovered on any object
I have a function ("advance_slideshow()") that ticks a slide show up by one, then it loops back at the end. It works when called from the key listener I set up for debugging. However it does not work when called from setInterval. I added a trace to the function to confirm that it was being called, which it is; it just doesn't work when called via the interval
Code: ////////////////////////// /* IMPORTS AND INCLUDES */
There are other animation added to this function also.So the function works well but sometimes when I move the mouse out of the window from middle of stage to its out,the function doesn't work.Meaning it works for some fraction of time and then hand cursor is shown and camera rotation is not set to zero.Is there any trick that must be done to force Event.MOUSE_LEAVE work properly.
whenever I try to call the removeMovieClip function in a callback handler, it just doesn't work! Maybe I'm tired, or I've just missed something this is apparantly obvious. In my code exert below, is just a simple script that attaches a movie clip to stage (square_mc) and creates a duplicate instance. When the component button is clicked, I want the original movie clip to be deleted, but nothing happens!
Code: this.attachMovie("square", "square_mc", this.getNextHighestDepth()); square_mc.duplicateMovieClip("square_mc2", this.getNextHighestDepth(), {_x:50}) var listener:Object = new Object;[code].............
So Every time when I click left mouse button, the setClickedTrue function should be triggered. And that's what happen normally. But when I make a fast move with a mouse, and in the meantime i click left mouse button, or i make a fast move and finishing i will click left mouse button, the function is not triggering. Something like MouseEvent can't hear this Event. I'm making an avoid game, and it's very important. I'm using Timer class with delay = 30; I'm also have got 30FPS on Flash Proporties.
I am using in AS3 "External Interface ". When I call the JS function that is on the same page as swf everything works fine.
I added a link in the html page to an external JS file, when I move the JS function to the external JS file the website crushes.
I would prefer to have all my JS functions on an external file so I can use them in the future in other project and it also makes it easier for me to update the site.
how to call a JS function that is on an external file from AS3?
I was wondering why my current code for calling a setInterval on a function doesn't work inside my class.I have this code inside one function, calling a second function.
The selfReferential keyword refers to the current class,but was defined previously (selfReferential = this; ).I get no errors, but the dupe() function is never called.and I had the selfReferential variable replaced with the this keyword at one point as well.
One of the the most annoying errors to get is the "duplicate function definition" error! Flash doesn't want to see the same function twice... But what about the same function used in two different sections (labels) of one site? I've got two different slideshows in two different sections of my site, and I need the same function called out for each. The function is function nextImage():void If I remove it one, that slideshow doesn't work (remains fixed on image 1 of the slideshow).. if I keep it in, nothing works! I had wanted to use the same script for both slideshows, but forget that! So, I found another script for a different type of slideshow.
my align function has stopped working. I am using CS4, so I tried downloading the trial CS5, but it doesn't work there either. So, what am I doing wrong?
I'm using Flash 8 (in case you need know what version I'm using).There's three flvs I have assigned a cuepoint, "complete". The goal is to make a graphic visible when "complete" cuepoint is detected, but this function seem doesn't work, any feedback on function?:
Code: var nc:NetConnection = new NetConnection(); nc.connect(null);[code]....
I decided to try to use setInterval for myanimation, which is just a mouse trail.However, I'm trying to get teh mouse trail to be a dynamic mask.In my previous swf this was achieved by using a holder mc with the animation inside and then using this as the mask. But this time I just canpt seem to hit on the right way to get it to work. The code I am using for the mouse trail is:
Code: var i:Number = 0; var myInt:Number; var t:MovieClip;[code].....
in the function, but now the trail doesn't resize and the mask still doesn't work.
I have a button object that I need to scale to align with the variable width of an array of images.However, when I set the width in code, the button does not actually become that width. Tracing out the width gives me the correct value, but on screen.. it's off.
I've proved it to myself by scaling the same button object manually in the properties pane and visually comparing. Both of the buttons below have a width of 410.
I have my main swf and another swf in "/tools/FrameJumper.swf" In my main swf I have a movieclip container on the stage "myContainer" and when I click a button it loads that "FrameJumper.swf" into that container. Now in that "FrameJumper.swf" I have a txt box and a button. here is the code on that button
I'm sure Adobe is sick of hearing about bugs, but.... one issue that I've noticed with Flash CS4 that was never an issue in CS3 is that when selecting the frames of a complex animation, copying them, and pasting them into another Flash file, often results in some of the artwork getting mixed up.
how frames work in Flash. I'm new to ActionScript, so I don't know the inner workings of the language. I tried checking the API but no Frame class is listed. The closest thing was FrameLabel and that wasn't helpful. I need to know a few things:
1) How can I tell what frame I am in? If there is a class method for this, what is the exact name?
2) How does a frame advance? I have some code with no timer, only event listeners/handlers, and I've got a hacked animation working without playing clips on the time line. The displayed pictures change whenever I press a directional button to move the character. This is not really what I want to do however, because I'm switching the visibility of many different symbols and updating their position according to the original player symbol. Very inefficient. And does that mean that the frame only advances when a button is pressed? Am I even advancing the frame at all? I don't know any frame advance method.
3) How do frames work on the time line? I have all of my symbols on a single frame. I made their visibility false in my constructor because I don't want some things to show when I first load up the .swf file. When I created a second frame, everything went crazy and things began to show up. This suggests that the visibility = false was only done in the first frame? What caused the frame to change? I don't really get it.
Ideally I want to achieve a dynamically modifiable animation because the game actions are not going to be linear. The player character will be responding to controls (which will change the animation) and the AI will be responding to the player (which will also change the animation). I don't think I can do this without understanding frames, so please help me. I'm very confused! Even pointing me in the right direction as to where I can read about frame details would be cool. I've tried Adobe tutorials, support, and documentation but it was not sufficient.
I have a movie that I have been working on.There is a simple animation/intro and then a main frame with several buttons set up to jump ahead to other frames.There are 4 buttons and they all work just fine and go to the respective frame with no problems.
My problem is in trying to add a button to one of those frames. I can't get any button to work on any of those frames at all. I tried to add a "home" button that jumps back to the main frame, but that wouldn't work. So, I tried to copy the main frame and move it ahead on the time line but that didn't work either. I tried to add buttons for the other frames as well and no button would work (regardless of where it was referenced) on those other frames.Here is the error message I keep getting:
Cannot access a property or method of a null object reference.
im planning to create a movie file that might have over 16,000 frames?i know this sounds silly but,i have already created 14 scenes which is just over 15,500.i have created the 15th scene but it stopped playing because i know maximum number of frame we can have is 16,000. is there any way around this problem? its a huge presentation im doin and there is loads of stuff going in it.
Here's the code for my first frame. There's a next button that when clicked, goes to the next frame.
ActionScript Code: next_btn.addEventListener (MouseEvent.CLICK, onClick); function onClick ( event:MouseEvent):void
[Code]....
The second frame is blank. The third frame has an exact copy of the next_btn on the stage.... Yet when I click it, it does not take me to the next frame. It does nothing. What gives?
To be clear, the actionscript timeline stretches throughout the whole flash.