0
我製作了一個遊戲,當它吃一個特定的對象時,它有一個字符模式。有點像pacman,當你吃更大的球,讓你變藍,讓你在短時間內吃鬼。ActionScript 3製作遊戲模式
我的遊戲有一種模式,當玩家吃某個物品時,他們可以嘗試在10秒內吃掉他們的對手。我已經能夠讓玩家改變形式,當吃東西時,物品從舞臺上消失,一個計時器開始,一旦吃掉另一個玩家從舞臺上移開,並且還有一些互動(不擅長as3)。一些我是如何做到的,所以玩家可以吃掉物體,然後打開模式,但無法吃掉他們的對手,它不會關閉或直接吃掉他們的對手,改變形式並打開定時器但不關閉它?
任何幫助與什麼我做錯了將不勝感激!代碼如下
package {
import flash.display.MovieClip;
import flash.events.*;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class main extends MovieClip
{
public var playerName:int;
public var playerState:Number = 1;
var player1;
var player2;
var theZombieBall;
public var zombietimer:Timer = new Timer (1000,10);
public function main() {
// constructor code
//defines player and zombie mode
var playerNumber:int =1
this.playerName = playerNumber;
this.gotoAndStop(playerState);
player1 = new player(50,384, 1);
player2 = new player(944,384,2);
stage.addChild(player1);
stage.addChild(player2);
stage.addEventListener(Event.ENTER_FRAME, checkForCollision);
zombietimer.addEventListener(TimerEvent.TIMER,timerHandler);
}
public function timerHandler(event:TimerEvent):void
{
timertext.text = 11- zombietimer.currentCount+"";
if (zombietimer.currentCount <1){
//player2.gotoAndStop (1);
player1.playerState = 1;
player1.gotoAndStop (2);
}
}
//public function addBall
public function checkForCollision(e:Event): void
{
//this function checks to see if theZombieBall has collided with a player
if(theZombieBall.hitTestObject(player1) || player1.hitTestObject(player2))
{
//removes thebadball from the stage
trace("a player has eaten the zombie ball");
stage.removeChild(theZombieBall);
// change player to zombieplayer
if (player1.playerState==1)
{
player1.playerState = 2;
}
else
{
player1.playerState = 1;
}
player1.gotoAndStop (2);
//makes player larger
player1.width = player1.width *2;
player1.height = player1.height * 2;
zombietimer.start();
}
//this function checks to see if theZombieBall has collided with a player
if(theZombieBall.hitTestObject(player2))
{
//removes thebadball from the stage
trace("a player has eaten the zombie ball");
stage.removeChild(theZombieBall);
// change player to zombieplayer
if (player2.playerState==1)
{
player2.playerState = 2;
}
else
{
player2.playerState = 1;
}
player2.gotoAndStop (2);
//makes player larger
player2.width = player2.width *2;
player2.height = player2.height * 2;
zombietimer.start();
}
//this function checks to see if player in zombie mode has collided with a normal player
if(player1.hitTestObject(player2))
{
//removes player1 from stage from the stage
trace("a player has eaten another player");
stage.removeChild(player1);
// change player to normal player
if (player2.playerState==2)
{
player2.playerState = 1;
}
else
{
player2.playerState = 2;
}
player2.gotoAndStop (1);
//makes player larger
player2.width = player2.width *2;
player2.height = player2.height * 2;
//removes timer from stage
stage.removeChild(timertext);
}
}
}
}