當我嘗試旋轉我的射彈以及船的旋轉時,我遇到了很大的問題。射擊時發生旋轉問題
我希望我的飛船一次拍攝兩張照片。因此,我使用了我的第一批射彈,並將它們放置在船的右側(左側一個,右側一個)。到現在爲止還挺好。
但是當我用我的太空船射擊時,我轉過身來看射彈的旋轉看起來很奇怪。這很難描述,所以這裏是一個顯示錯誤行爲的圖像。
http://imageshack.us/photo/my-images/841/projectilebug.jpg
我與飛船旋轉彈ALONG,使其看起來非常好巨大的問題。目前只有一個鏡頭。當我旋轉並立即開火時,我的射擊會被搞砸。 目標是創建一個雙擊發射炮,如圖所示。
下面是一些代碼,放置在船的左邊彈(即並未真正發揮作用):
var projectileRadians:Number = (player.frame/180) * 3.14159;
tempProjectile.x = (player.point.x + 6) + Math.cos(projectileRadians);
tempProjectile.y = (player.point.y + 3) + Math.sin(projectileRadians);
的速度編碼:
tempProjectile.nextX = tempProjectile.x;
tempProjectile.nextY = tempProjectile.y;
tempProjectile.dx = rotationVectorList[player.frame].x;
tempProjectile.dy = rotationVectorList[player.frame].y;
這將更新的位置:
nextX += (dx * (speed + Math.abs(xAdjust))) * step;
nextY += (dy * (speed + Math.abs(yAdjust))) * step;
了拋射開始位置的符號只是故事的一半。您還需要查看拋射體的速度矢量。還想發佈該代碼? –
tempProjectile.nextX = tempProjectile.x; tempProjectile.nextY = tempProjectile.y; \t \t \t tempProjectile.dx = rotationVectorList [player.frame] .X; tempProjectile.dy = rotationVectorList [player.frame] .Y; 這將更新位置: nextX + =(DX *(速度+ Math.abs(xAdjust)))*步驟; nextY + =(DY *(速度+ Math.abs(yAdjust)))*步驟; – drpelz
好的。我很抱歉遲到的回覆,但同時我還要做其他一些事情。我找到了問題!:)這是我的錯。我的旋轉點有不正確的值,所以它沒有正確旋轉。我修改並調整了我的旋轉點,現在它正在工作。無論如何感謝您的幫助!:) – drpelz