0
그래서 나는 엉망이되어서 내가 플래시에서 작업하고있는 게임에 메인 메뉴를 추가 할 것이라고 결정했습니다. 그래서 나는 배경이 있고 배경으로 볼을 추가하여 화면을 가로 지르거나 내리거나 움직일 것이라고 결정했습니다. 그러나 지금까지 발견 한 모든 것은 단지 고집하고 있습니다. 상단 모서리는 각 프레임을 업데이트하지 않습니다. 내가 잘못 가고있는 부분에 대한 약간의 피드백은 대단히 감사하게 생각합니다. 아마도 내가 잘못된 곳에서 addChild(gameBall)
을하고 있기 때문에 그 점을 이해할 수 있습니다.하지만 어떻게 수정해야할까요? main.as는 기본적으로 게임의 상태를 확인하는 스위치이며 mainMenu.as는 mainMenu 자체입니다. 그것들은 코드 위에 언급 한 별도의 파일입니다.addChild 사용 - 플래시?
// main.as
package
{
import flash.display.*;
import flash.system.fscommand;
public class main extends MovieClip
{
public function main()
{
changeState(null, "menu");
}
public function changeState (currentState, nextState)
{
if (currentState != null)
{
removeChild(currentState);
}
switch(nextState)
{
case "menu": var mm:mainMenu = new mainMenu(changeState);
addChild(mm);
break;
case "game": var g:theGame = new theGame(changeState);
addChild(g);
break;
case "exit": fscommand("quit");
break;
}
}
}
}
//mainMenu.AS
package
{
import flash.display.*;
import flash.events.*;
public class mainMenu extends MovieClip
{
var theCallBackFunction:Function;
private var ballX:Number = 5; // Declaring a variable known as _vx
private var ballY:Number = 5; // Declaring a variable knwon as _vy
private const GRAVITY:Number = 2; // Declaring a const variable known as gravity
var gameBall:Ball = new Ball();
public function mainMenu(callBack)
{
var btnPlay:mmPlay = new mmPlay();
btnPlay.addEventListener(MouseEvent.MOUSE_DOWN, brnP_Button);
btnPlay.x = width/2;
btnPlay.y = height/2 - btnPlay.height/2;
addChild(btnPlay);
var btnExit:mmExit = new mmExit();
btnExit.addEventListener(MouseEvent.MOUSE_DOWN, brnE_Button);
btnExit.x = width/2;
btnExit.y = height/2 - btnExit.height/2;
btnExit.y += btnExit.height + 4;
addChild(btnExit);
ballY += GRAVITY
if (ballY < 0)
{
ballY += 5;
}
gameBall.x += ballX;
gameBall.y += ballY;
addChild(gameBall);
theCallBackFunction = callBack;
}
public function brnP_Button(e:MouseEvent)
{
theCallBackFunction(this, "game");
return;
}
public function brnE_Button(e:MouseEvent)
{
theCallBackFunction(this, "exit");
return;
}
}
}
어떻게 enterFrameHandler 메소드를 실행하고 있습니까? 최신 버전의 메뉴 클래스를 전체 게시 한 경우 더 나을 것입니다. –