Im делает игру, которая имеет характерный режим, когда она ест определенный объект. Вид, как в pacman, когда вы едите большой шар, который превращает вас в синий цвет, и позволяет вам есть призрак на короткий период времени.ActionScript 3, создающий игровой режим
В моей игре есть режим, когда игрок ест определенный объект, он может попробовать и съесть своего противника за 10 секунд. Ive смог уклониться от того, чтобы игрок изменил форму при еде объекта, объекта, исчезающего со сцены, таймера, начинающегося и однажды съеденного другого игрока, удаляемого со сцены и еще нескольких взаимодействий (не хорошо в as3). Некоторые, как я сделал это, чтобы игрок мог съесть объект, а затем включить режим, но не сможет съесть их оппонент, и он не выключит ИЛИ сразу съешьте своего противника, измените форму и включите таймер, но не выключите его ?
Любая помощь с тем, что ive сделало неправильно, будет очень признателен! код ниже
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);
}
}
}
}