Search tutorials
The startGame method is called on all the player clients, when the host clicks on the go sprite. The field m_putValue is initialized which is used determines whether an O or X should be displayed.
The super implementation removes the go or the wait sprite. The game board is initialized.public override function startGame():void {
super.startGame();
if ( PulseGame.getInstance().getGameClient().isGameHost() ) {
m_putValue = 1;
}
else {
m_putValue = -1;
}
addChild(m_borderSprite);
for each (var hotspotArray:Array in m_hotspotArray) {
for each (var hotspot:TictactoeHotspot in hotspotArray) {
m_borderSprite.addChild(hotspot);
}
}
m_isGaming = true;
}
In the following hide method, we simply make sure we remove all the game screen related sprite.
public override function hide():void {
if (m_showingTurn) {
removeChild(m_turnSprite);
}
if(m_borderSprite.numChildren > 0) {
for each (var hotspotArray:Array in m_hotspotArray) {
for each (var hotspot:TictactoeHotspot in hotspotArray) {
if(hotspot.numChildren > 0)
hotspot.removeChildAt(0);
m_borderSprite.removeChild(hotspot);
}
}
}
if ( m_isGaming ) {
finishRound();
removeChild(m_borderSprite);
}
m_isGaming = false;
super.hide();
}
The lobby Hit method is called when the player chooses to quit the game screen. At this point we simply end the game. For this particular game implementation, there is no point in having one player be in the room after the other player has quit, so as soon as one player quits, we send back both the players to lobby. You may choose implement any custom behavior you like.
protected override function lobbyHit():void {
//Host send finish game and non-host sent enterlobby
if ( m_isGaming == true )
m_tictactoeGame.getGameClient().finishGame();
super.lobbyHit();
}
Now that we have seen screen management for the game board we will see how the game plays out
» Level Intermediate |
Added: 2009-02-21 Rating: 6.04 Votes: 28 |
» Author |
Prashanth Hirematada is the founder & Chief Architect of Gamantra, a game technology company. |
» Download |
Download the files used in this tutorial. |
Download (0 kb) |
» Forums |
More help? Search our boards for quick answers! |