Actionscript 3 :: Calling A Function In Flash Object Only Works Internally?
Oct 14, 2011
I'm using a package to play back .wav files in Flash. I can make wav's play back, however, what I cannot do is trigger their playback from a button. I suspect this is because I've misunderstood the this keyword. Below is an example.
You can see that when I call playBackTest() directly it works; when I call this object from a button it doesn't.
So I have chess like game, where I place my piece (c[i]) on the board, the piece automatically gets pushed into a square, and the AI starts (computerplay function)
The problem is that the AI (computerplay function) is running before the piece get pushed into the nearest square, leaving it hanging oddly over the board for 3 seconds while the computer thinks.
Is there some way to force a redraw before the calling the computerplay function?
I'm having a hard time because of an "Error #1009:Cannot access a property or method of a null object reference" Iget everytime I try to run my Flash-movie. I've attached the codethat is contained in frame 1.The function bringUpEasyQuestion is defined on frame 2, alongwith other functions that are defined there. Now when I test themovie, I get this message:TypeError: Error #1009: Cannot access a property or method ofa null object reference.at MES_fla::MainTimeline/bringUpEasyQuestion()atMES_fla::MainTimeline/frame1()I've read that the Error1009-message means that you aretrying to access something that isn't there yet. And indeed, thebringUpEasyQuestion-function accesses objects that exist only onframe 2. But the first line of the function bringUpEasyQuestion isgotoAndStop(2);. The curious thing is that it works when i put thelast line of the code in frame one (the function callbringUpEasyQuestion(0);) on the first line with the command gotoAndStop(2);?
the code works fine , but actually i want the "Object(parent).showHighScores();" to be load automatically without clicking the button (auto call the function once the page loaded), i tried use Event.Enter_frame but it wont stop running,
I have an AS3 function that loads and audio file and then plays it. I have the pre-loader for the first audio file working - now I need to run the pre-load function before the 2nd audio file starts.
Okay so I am reading through sens tutorial on OOP and updating my game that I am making. It is much easier to code this way (IMO) but still hitting snags.I am trying to get through this code:
I am making a character walk. This code will make him wobble to the right and when thats done it will trigger him to wobble to the left and then call the function again to continue the loop.I can get the loop to work fine by calling the function but how do I STOP the function? Also I want to call it later on. Is there a way to start and stop a function?
I'm trying to set a variable in AS3 and then use an event to call that variable. The links are set in an xml file. I have it working with hyperlinks using navigateToURL, but it's not doing exactly what I want. What I want is to use flash to call the link in the xml file. That link will target a javascript function. There is no need to open a new window. I'm trying to target a particular div on the page. Here's what I have so far:
I'm trying to call a function to another class after an event.
Here's my code:
From the doucment class:
public static function redrawMap():void { removeChild(global.world); var world:WorldHandler = new WorldHandler(40,30);
[Code]....
I can't get it to work correctly, I get weird messages like "Call to undefined method removeChild" and it pointing to the redrawMap function. Which means it found the function, but I can't seem to do anything with it.
I have a layer named "splash" and a layer named "home". On the splash layer I want to call a function which is stored on a layer named "navigation" inside a MovieClip called "page" on the home layer.
I have a function that draws a rectangle on the screen (see createInfoPanel()) While drawing rectangle, I am adding 2 text fields on it. But as you may guess, it is adding those immediately. I want to delay adding these text fields, then I want to remove these panels after a while. The problem is, when I set an interval or timer, they won't work after I using once (I had to stop them by clearing/removing, it didn't set them again). Since my panel is being created each time image changes, I need them to work every time image changes. So, I have 2 questions:
1- How can I re-set interval each time my createInfoPanel() function works? It won't work anymore after setting and claring once.
2- You can see infoPanel.addChild(titleField); line in addInfoPanel() function. How can I work a smooth animation here? I mean, text appears slowly?
I found a cool prototype function here in the forums that plays a movieclip backwards:[code]I have the protoype defined on the main timeline of my main file. I call the function on press of a button from an external movieclip after it's loaded into main.When testing it in flash it works beautifully. When I test it online it doesn't work at all. Other code on the button being called at the same time does work (like unloading a movieclip on the main timeline).
I have the protoype defined on the main timeline of my main file. I call the function on press of a button from an external movieclip after it's loaded into main.When testing it in flash it works beautifully. When I test it online it doesn't work at all. Other code on the button being called at the same time does work (like unloading a movieclip on the main timeline).
The "modern" updated way to embed a flash object, according to Adobe:
[Code]...
Then it works on Firefox and Chrome (the AS function is called and works properly) - (it doesn't work in IE though). How come it doesn't work with an object tag? How "safe" it is to use the embed tag instead of the object tag? Is it not obsolete? Note, that it is definitely not a timing issue - If I call the AS function from JS from an onclick function - then the results are the same.
For days now I have been trying to get this hit test to work and which ever way I try it, it always comes back to the same result. I get a hit on the last item I pushed into my array but none on the previous items I pushed in. Also if I put a .sort() on the array it only gives a hit on the last item of the array, no matter which one I push in.
The idea is that I want to drag and drop objects onto the stage, they may not overlap so I need a hit test on the objects so I can make them undroppable when the hit test is true.
This is the part I have for dragging the objects to the stage, and adding them to arrays for the hit test.
Code: private function onClickDragBuilding1ToGameField(e:MouseEvent):void{ building1Placeholder.x = mouseX-25; building1Placeholder.y = mouseY-25;
[Code]...
Now if I run this I can add the object to the stage just fine no errors or other issues but the hit test only works on the last object I added to the stage/array and not the previous object I added to the stage/array.
Sso I drag the first object to the stage. (no other object are available yet so nothing happens, this is as it should be) Then I drag a second object to the stage, this reacts to the first object and returns the hit test as true. (Also great and working as it should.) Then I drag a 3th object to the stage, this reacts to the 2nd object I dragged just fine and return a true value, but it does not react to the 1 object I dragged onto the stage. Then when I drag a 4th object to the stage it will react to the 3th object I added, but not the 1st ad 2nd object.
I'm trying to call a javascript function from within my swf and I'm having a couple of problems which are confussing me somewhat. I'm using this to call the function from flash: ExternalInterface.call("pgcover"); I know that this is calling the function as I have set it trigger an alert action and this comes up properly. But I don't want the function to trigger an alert, this is just for testing purposes. I instead want it to change the styling on a div. I have set up a test page where I have asigned the function to a button and this works, the div display changes from block to none. When I get the swf to call the function setup to do the same thing, nothing happens.
how to call a flash function from an HTML page. The idea is to have a link on my page (HTML link) that once clicked displays a movieclip in flash. I know i have to use the asfunction in HTML. So far I have just created my swf file with a function called showInfo. I've embedded the flash into an HTML page. I have then added a link on the HTML page as follows:
<a href="asfunction:showInfo">Link name</a> but when I click it says: "Firefox doesn't know how to open this address, because the protocol (asfunction) isn't associated with any program."
is there a piece of code I need to write in flash for this to work?
I have what I think is an easy question but I am having problems with it... Using AS2 / CS3, I am calling a javascript function from Flash, but i would like the value to be a variable and I cant figure out how to do it. the started code is below and I need direction on how to make "myVar" actually a variable.
Basically I have a function that is needs to tell 2 other classes to do something. It works for one of the classes: BigPlayButton, but not Background for some reason.TabMenu.as Class functionNote: The function below WILL call the hitPlayCircle function in my BigPlayButton class, but I get an undefined property error for the Background switchTitle function.
this swf is loaded into another swf using Loader and added with addChild(loader).i then need to call the init function from the parent swf. how can i do this? just calling
loader.content.init();
fails.another question is, what is the exact classname of this mxml file?
I'm trying to make it so a button I use in a swf talks to the swf's container and says...
fscommand ("javascript:changeMap('hodson.htm');")
so that in turn
function changeMap(building) { document.getElementById('buildingINFO').src=buildi ng; }
But that doesn't work. I also tried getURL in front of the AS instead of fscommand. basically it's an interactive map where I should be able to click a building and have information appear within a div tag to the right side.
I am trying to call a Javascript function in flash. I am able to call the function using the following code:
Code: ExternalInterface.call("alert");
I have a flash movie and I want the javascript function to be called when the movie finishes but the code above calls the function at the beginning. Would anyone be able to tell me how I would get this to work the way I want it to?
Is it possible the JS object object doesn't exist when the flash calls? Here is all the source and the issue ticket for the SWF project this is happening on: http:[url]....
PS - I have the swf mp3 player working with some custom JS that removes the need for the swf to call the JS, but I'd love to understand why IE9 does this while the other browsers work as expected.
I am loading external child SWF's into a parent SWF. The embed params for the parent force wmode=opaque. Can I send the wmode to each child SFW and force it to something else regardless of the parents passed varibles? I'd like to play with GPU.
Basically I have 10 different movie clips, all hold in them a different image of a car. They have titles like blackcar, redcar, etc etc... How to show a blackcar when my black button is pressed? I've tried on (release) { with ("blackcar") { gotoAndPlay(1); } However the screen just flashes, even after a stop(); in the movieclip.
A simple flash video doesn't appear in IE. I've looked at answers to the same problem by NineBerry, however, I've tried those suggestions without luck.[code]I didn't include the file mulholland_intro_slideshow.fla as I doesn't seem necessary.I'm also aware that when encoding with Flash the object can only be made to played locally or via the network. I encoded locally for testing but it also plays across the network. Is that even relevant? I don't know.