こんばんは。EVENT_FRAMEハンドラーを使用して、シンボルが長方形(右、上、左、下、繰り返し)に移動する単純なプロジェクトに取り組んでいます。これは私のコードです
import flash.events.Event;
var moveRate:Number = 20;
var maxX:Number = 500;
var minX:Number = 80;
var maxY:Number = 60;
var minY:Number = 320;
var endOfLineX:int = 0;
var endOfLineY:int = 0;
roboSym.addEventListener(Event.ENTER_FRAME, move1);
roboSym.addEventListener(Event.ENTER_FRAME, move2);
function move1(e:Event):void
{
if (endOfLineX == 0)
{
roboSym.x += moveRate;
if (roboSym.x >= maxX)
{
endOfLineX = 1;
}
}
else if (endOfLineX == 1)
{
roboSym.x -= moveRate;
if (roboSym.x <= minX)
{
endOfLineX = 0;
}
}
}
function move2(e:Event):void
{
if (endOfLineY == 0)
{
roboSym.y -= moveRate;
if (roboSym.y <= maxY)
{
endOfLineY = 1;
}
}
else if (endOfLineY == 1)
{
roboSym.y += moveRate;
if (roboSym.y >= minY)
{
endOfLineY = 0;
}
}
}
つまり、モーションはまっすぐなモーションではなく、斜めに進み続けます。ロジックのどこかにエラーがあることは知っていますが、それが何であるかを正確に特定することはできません。