Döndüğü yönde hareket etmesi gereken bir "arabam" var. Şimdi sadece bir yönde dönüyor ve yukarı ve aşağı devam ediyor. Lütfen bana yardım edin. Adobe flash pro cs6 ve actionscript3 kullanıyorum. Benim kodudur:Nesne flaş yönünde dönme yönünde nasıl hareket ettirilir?
var upPressed:Boolean = false;
var downPressed:Boolean = false;
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;
car.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey);
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed);
function fl_MoveInDirectionOfKey(event:Event)
{
if (upPressed)
{
car.y += 5;
}
if (downPressed)
{
car.y -= 5;
}
if (rightPressed)
{
car.rotation += 5;
}
if (leftPressed)
{
car.rotation -= 5;
}
}
function fl_SetKeyPressed(event:KeyboardEvent):void
{
switch (event.keyCode)
{
case Keyboard.UP:
{
upPressed = true;
break;
}
case Keyboard.DOWN:
{
downPressed = true;
break;
}
case Keyboard.LEFT:
{
leftPressed = true;
break;
}
case Keyboard.RIGHT:
{
rightPressed = true;
break;
}
}
}
function fl_UnsetKeyPressed(event:KeyboardEvent):void
{
switch (event.keyCode)
{
case Keyboard.UP:
{
upPressed = false;
break;
}
case Keyboard.DOWN:
{
downPressed = false;
break;
}
case Keyboard.LEFT:
{
leftPressed = false;
break;
}
case Keyboard.RIGHT:
{
rightPressed = false;
break;
}
}
}
Fonksiyonunuz ** fl_MoveInDirectionOfKey ** aracınızı mutlak x ve y değerlerinde hareket ettirir. Herhangi bir dönüş veya nispi hareket için yer yoktur. Aracınıza konum için bir vektör değişkeni ve yön için bir vektör değişkeni eklemelisiniz. Sonra vektör matematiğine ve vektörleri nasıl çevirip çevireceğinizi okumaya başlamalısınız. Son olarak, önce rotasyon uygularsınız (daha sonra yerel olarak, kendi ekseni etrafında dönmektedir) ve daha sonra çeviri (yani x'in ve y'nin olması istenen ekrana yerleştirdiğiniz anlamına gelir). – Jankapunkt