2013-05-10 67 views
1

我是遊戲編程的noob,並不擅長數學,我想寫一個1945年的風格的射擊遊戲,迄今爲止都很好,但我在瓶頸,我不知道如何使敵人瞄準玩家。CraftyJS如何計算2個精靈之間的向量?

可以說我有敵方精靈和玩家精靈,我如何找出角度和路徑?這聽起來像計算2點之間的載體,我一直在閱讀文檔,特別是這個鏈接http://craftyjs.com/api/Crafty-math-Vector2D.html

我只是無法弄清楚如何做到這一點,我已經試過角以下

var enemyV = Crafty.math.Vector2D(enemy.x, enemy.y); 
var playerV = Crafty.math.Vector2D(player.x, player.y); 
var angle = enemyV.angleTo(playerV); 

值總是在-3到3之間,這根本不是直角。

我希望有CraftyJS經驗的人可以幫助我。

回答

0

angleTo函數返回弧度值,因此運行這會給實際的角度degreex Crafty.math.radToDeg(radianValue)

爲宗旨的球員,並在該方向上的子彈旅行你只得到2分 bullet.x - player.x' bullet.y之間的差異 - player.y」然後應用增量率如下面(

bullet.x_diff = (target.x - bullet.x)*0.02; 
bullet.y_diff = (target.y - bullet.y)*0.02; 

然後enterFrame事件循環內:

this.x += this.x_diff; 
this.y += this.y_diff; 

一旦你明白了,你應該通過除以點之間的距離來標準化你的差異。

相關問題