EventDispatcher between an as and an fla?

Posted by Christopher Richa on Stack Overflow See other posts from Stack Overflow or by Christopher Richa
Published on 2010-03-25T15:04:18Z Indexed on 2010/03/29 14:23 UTC
Read the original article Hit count: 459

Hi everyone. I am making a fighting game in Flash and while I have everything running, I am missing something: a victory/loss screen. Logically, I know how to do it:

if character.hp < 0
{
    character.dead = true;
    dispatchevent("death", event)
}

My problem is that I have no idea as to how to code it. I know I will use two classes and my two .fla files (unless I am wrong).

I have two .fla files that are in play here: the Menu.fla file and the Arena.fla file. Menu.fla contains the entire navigation of the game, options, character selection screens, etc. and when it is time for the player to engage in battle, it loads the Arena.fla file, which contains only the backgrounds (depending on the selected stage) and for now is set to a length of one frame only. For Arena.fla, the real action happens in my classes, but logically, I would only need HP.as and Character.as.

In Character.as, I have declared the following variable:

var isDead:Boolean = false;    //is character dead?

In HP.as, believe I should have the following:

if(currentHp<0)
{
    currentHp = 0;
    character.isDead = true;     //declared as var `character:Object;`
    EventDispatcher.dispatchEventListener("playerDead", playerDead);
}

And finally, in Arena.fla, I want to be able to detect the above-mentioned eventlistener and simply move on to a second frame which will display a message in the style of "PLAYER ONE HAS WON" or "PLAYER ONE HAS LOST" with a button that will allow me to go back to the character selection screen. This is the first part in which I am stuck: how do I detect the dispatched event listener in my main .fla file?

Secondly, if the player clicks on the "CONTINUE" button, which displays regardless if the player has won or lost, how can my Menu.fla (which loads the Arena.swf) detect this click event, unload the game, and go back to the character selection screen?

Thank you in advance for helping me out. I realize this is a lot of text but it's the most descriptive I can be. If you have any questions or need any clarification concerning my question, feel free to speak up.

-Christopher

© Stack Overflow or respective owner

Related posts about actionscript-3

Related posts about flash-cs3