플레이어가 임의로 떨어지는 물건을 피해야하는 게임을 만들고 있습니다. 나는 일시 정지를 구현하는 방법을 모른다. 나는 2 일 동안 이것에 붙어 있었다!ActionScript 2로 게임 일시 중지
gotoAndPlay 등을 사용해 보았지만 개체가 백그라운드에서 계속 실행되었습니다. 게임을 다시 시작하면 계속 떨어지고 프레임이 재설정되고 새로운 임의의 떨어지는 물체가로드되는 것 같습니다.
var steps:Number = 10;
var spriteX:Number = 280;
var spriteY:Number = 650;
var alienCounter=1;
var asteroidCounter=1;
var live:Number=3;
var depthLevel=3000;
var score:Number = 0;
var gamePaused;
dropTimer=setInterval(createAlien,2000);
drpTimer2=setInterval(createAsteroid,1000);
//---- functions ----
function checkKeys()
{
if (Key.isDown(Key.RIGHT))
{
spriteX += steps;
}
else if (Key.isDown(Key.LEFT))
{
spriteX -= steps;
}
}
function updateSpaceship()
{
ship._x = spriteX;
ship._y = spriteY;
}
function createAlien()
{
var curr_alien;
curr_alien=attachMovie("alien","alien"+alienCounter,depthLevel);
curr_alien._y=40;
curr_alien._x=Math.random()*510+20;
curr_alien._xscale=curr_alien._yscale=50;
curr_alien.speed=Math.random()*10+3;
alienCounter+=1;
depthLevel+=1;
curr_alien.onEnterFrame=alienMove;
}
function alienMove()
{
if(!gamePaused)
{
this._y+=this.speed;
if(this.hitTest(ship))
{
score += 1;
trace(score);
removeMovieClip(this);
}
}
}
function createAsteroid()
{
var curr_asteroid;
curr_asteroid=attachMovie("asteroid","asteroid"+asteroidCounter,depthLevel);
curr_asteroid._y=40;
curr_asteroid._x=Math.random()*510+20;
curr_asteroid._xscale=curr_asteroid._yscale=50;
curr_asteroid.speed=Math.random()*10+3;
asteroidCounter+=1;
depthLevel+=1;
curr_asteroid.onEnterFrame=asteroidMove;
}
function asteroidMove()
{
if(!gamePaused)
{
this._y+=this.speed;
if(this.hitTest(ship))
{
live -= 1;
trace(live);
removeMovieClip(this);
if(live<=0)
{
gotoAndPlay(5);
}
}
}
}
this.onEnterFrame = function()
{
checkKeys();
updateSpaceship();
if(Key.isDown(80))
{
if(!gamePaused)
{
gamePaused=true;
gotoAndPlay(4);
}
else
{
gamePaused=false;
gotoAndStop(3);
}
}
};
버튼을 사용하려고 할 때 해결책을 찾을 수 없기 때문에 대신 키를 사용하기로 결정했습니다. 일시 중지 기능이 내가 예상대로 작동하지 않습니다, 내가 그것을 잠시 멈출 여러 번 키 'p'를 입력해야하지만 프레임을 다시 설정하고 다시 시작하면 더 많은 임의의 개체를로드 할 필요가 없습니다.
실제 게임 인 떨어지는 물건과 물건을 하나의 무비 클립으로 포장합니다. 두 번째 무비 클립에서 일시 중지 화면을 만듭니다. 그런 다음 기본 타임 라인에서 게임을 한 프레임에 배치하고 두 번째 프레임에서 일시 중지합니다. 그런 다음 기본 타임 라인에서 gotoAndStop()을 사용하십시오. 또는 변수를 추가 할 수 있습니다 (예 : bool paused). 무작위 객체가 생성되는 곳에서 paused가 false와 같은지 확인하십시오. –
일시 중지 버튼을 만들었으므로 일시 중지 버튼에 gotoAndStop()을 구현할 수는 있지만 작동하지 않는 것이 좋을 것입니다. 아직 Actionscript 2에 대한 새로운 내용이므로 자습서 나 예제는 – user3132527
코드를 보여 주므로 도움이 될 것입니다. – Fergoso