AS3을 배우고 있으며이 유형의 오류와 관련하여 여러 가지 관련 질문이 있지만 이해가 안되는 것으로 알고 있습니다.AS3 상위 메소드 및 변수에 액세스하는 중 오류가 발생했습니다.
TypeError: Error #1034: Type coercion failed: cannot convert bej_cs5_fla::[email protected] in Board.
at BoardTimer/gameOver()
at BoardTimer/countdown()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
내가 클래스에 있습니다
는이 오류를 받고 있어요. 클래스 Board
및 클래스 BoardTimer
.
Board
:
public class Board extends MovieClip {
//Attributes
public var boardSide:uint;
public function Board(dimention:uint) {
boardSide = dimention;
// Code goes here
}
}
BoardTimer
:
public class BoardTimer extends Board{
public function BoardTimer(dimention:uint)
{
boardSide2 = dimention;
super(dimention);
gameTimerBox = new TextField();
myTimer = new Timer(1000,count);
myTimer.addEventListener(TimerEvent.TIMER, countdown);
myTimer.start();
}
}
그리고 어떤 BoardTimer
방법 :
function countdown(event:TimerEvent):void
{
gameTimerBox.x = 700;
gameTimerBox.y = 200;
gameTimerBox.textColor = 0xFFFFFF;
gameTimerBox.text = String((count)-myTimer.currentCount);
if (gameTimerBox.text == "0")
{
gameOver();
gameTimerBox.text = String("Game Over");
}
addChild(gameTimerBox);
}
function gameOver()
{
trace(Board(parent).boardSide);
}
한 프레임이 I이
다른의나는이 있습니다
var dimention:uint=10;
var board_mc: Board = new Board(dimention);
board_mc.x=25;
board_mc.y=25;
addChild(board_mc);
BoardTimer
하면 해당 Board
가하고있는하지만 난 Board
메소드와 변수에 액세스하려면 실패하고있어 모두하고있다. , trace(Board(this.parent).boardSide);
및 trace(Board(this.parent.parent).boardSide);
과 아무 것도 시도하지 않았습니다.
내가 뭘 잘못하고 있니?
감사합니다. 그게 내 문제를 해결했다. – Favolas