내 게임 문서 클래스에서 내 변수를 정의한 다음 Movement 클래스에서 이러한 변수 중 일부를 사용하고 싶습니다. 그러나 운동 클래스에서 이러한 변수를 사용할 때 컴파일 오류가 많아서 정의되지 않았다고 말합니다.다른 클래스의 공용 변수에 액세스 할 수없는 이유는 무엇입니까?
제 질문은 제 공개 변수가 다른 클래스로 전달되지 않는 이유는 무엇입니까? import game;
을 수행하여 클래스를 가져 왔으므로이 사실이 저를 혼란에 빠뜨립니다. 나는 아마 잘못하고있을 뿐이지 만 도움을 많이받습니다.
타임 라인
addChild((new Movement));
게임 문서 클래스
package
{
import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class game extends MovieClip
{
public var area1:Boolean = true;
public var area2:Boolean = false;
public var area3:Boolean = false;
public var player1:Boolean = true;
public var playerPosKeeper_mc:MovieClip = new mc_PlayerPosKeeper();
public var up_dpad:MovieClip = new dpad_Up();
public var down_dpad:MovieClip = new dpad_Down();
public var left_dpad:MovieClip = new dpad_Left();
public var right_dpad:MovieClip = new dpad_Right();
public var menu_dpad:MovieClip = new dpad_Menu();
public var run_dpad:MovieClip = new dpad_Menu();
public var barrierRoof1_game:MovieClip = new game_BarrierRoof();
public var barrierRoof2_game:MovieClip = new game_BarrierRoof();
public var barrierSide1_game:MovieClip = new game_BarrierSide();
public var barrierSide2_game:MovieClip = new game_BarrierSide();
public function game()
{
trace("SUCCESS | Constructed Game Class");
}
}
}
운동 클래스
package
{
import game;
import flash.display.Stage;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.TouchEvent;
import flash.net.dns.AAAARecord;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;
public class Movement extends MovieClip
{
var inMotion:Boolean = false;
public function Movement()
{
trace("SUCCESS | Constructed Movement Class");
addChild(playerPosKeeper_mc);
playerPosKeeper_mc.x = 384;
playerPosKeeper_mc.y = 46;
addChild(up_dpad);
up_dpad.x = 55;
up_dpad.y = 336;
addChild(down_dpad);
down_dpad.x = 57;
down_dpad.y = 432;
addChild(left_dpad);
left_dpad.x = 19;
left_dpad.y = 372;
addChild(right_dpad);
right_dpad.x = 118;
right_dpad.y = 372;
addChild(menu_dpad);
menu_dpad.x = 61;
menu_dpad.y = 377;
addChild(run_dpad);
run_dpad.x = 684;
run_dpad.y = 369;
addChild(barrierRoof1_game);
barrierRoof1_game.x = 0;
barrierRoof1_game.y = 0;
addChild(barrierRoof2_game);
barrierRoof2_game.x = 0;
barrierRoof2_game.y = 470;
addChild(barrierSide1_game);
barrierSide1_game.x = 0;
barrierSide1_game.y = 0;
addChild(barrierSide2_game);
barrierSide2_game.x = 790;
barrierSide2_game.y = 0;
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
up_dpad.addEventListener(TouchEvent.TOUCH_BEGIN, moveUpTouchBEGIN);
up_dpad.addEventListener(TouchEvent.TOUCH_END, moveUpTouchEND);
}
public function moveUpTouchBEGIN(e:TouchEvent):void
{
trace("Touch Began")
}
public function moveUpTouchEND(e:TouchEvent):void
{
trace("Touch Ended")
}
}
}
단계별 설명을 부탁드립니다. 매우 감사. – UnAlpha
@ user2712413 그것은 내가 기본적으로 똑같은 일에 매달렸을 때 2001 년을 연상케합니다. 타임 라인상의 내 코드가 타임 라인 B에서 가변적 인 선언을 볼 수없는 이유는 무엇입니까? Flash 5와 이상한 ActionScript는 아직 AS1이 아니 었습니다. 필자는 마침내 MovieClip 계층 구조를 얻고 직설적 인 작업을 수행 한 후 작업이 훨씬 쉬워졌습니다. – Organis