2010-07-12 67 views
0

我該如何修改2D賽車遊戲看起來像等軸測圖?閃存+的ActionScript3如何在2D賽車遊戲中創建等距模仿?

ScreeShot

遊戲是完全在2D。汽車像它應該移動一樣,而它在駕駛地面時一切都很好。 我已經添加了一個灰色斜坡。現在汽車應該像箭頭所示的那樣移動,造成3d(等角)的錯覺。

斜坡在3個扇區

劃分

-first,扇區到右側(在轎廂當前位於);

-second,扇區向左;

-third,sector on top;

另外我需要這輛車,當車速很高時從坡道跳出。開車時我reffer老紹爾遊戲搖滾賽車(暴雪的遊戲世嘉)

所以問題是

1)我應該如何改變汽車的角度和速度(velocityX和velocityY)在坡道上?

2)我該如何開始跳樓?比如在Rock'n'Roll比賽中?或者暴雪是如何實質上做到這一點的?(也許是建議)

Thaks。

回答

2

最好的是在3D中計算遊戲,然後簡單地將其投影到等角線。

const angle:Number = Math.PI/3;//you may want to tweak this one 
const xVec:Point = Point.polar(-Math.PI/2 + angle, 1); 
const yVec:Point = Point.polar(-Math.PI/2 - angle, 1); 
const zVec:Point = new Point(0, -1); 

變換3D到2D:

function transform(x:Number, y:Number, z:Number):Point { 
    return new Point(x*xVec.x + y*yVec.x + z*zVec.x, x*xVec.y + y*yVec.y + z*zVec.y); 
}