2012-12-13 54 views
1

如果我在x轴上有一个从0开始的对象,并将它移动到x +轴上。有没有一种方法可以跟踪所制造的距离,并用它来反制?追踪距离。 Unity 2D游戏

我不知道做什么即时通讯,但想这样

var distance = orgpos -> currentpos; 
for each x10{ 
score += 1; } 

虽然移动这一行动进行了现场表演。

编辑:

calculatedDistance += (transform.position - previousPosition).magnitude; 
previousPosition = transform.position; 

我有这样的脚本给我的距离,如果那是任何人的帮助。

+0

统一标签用于Microsoft Unity。请不要滥用它。 –

回答

1

发布问题后找到了一种方法。我只是发布了我为别人使用的方式。

//Score 
static var score : int = 0; 
static var distanceScore : int = 0; 
static var starScore : int = 0; 

//Adding point and removing star for each collision 
function OnCollisionEnter(collision : Collision) 
{ 
if (collision.gameObject.tag == "StarPickup") 
{ 
    Destroy(collision.gameObject); 
    starScore += 10; 
}}  

// Checking distance 
var previousPosition : Vector3; 
var calculatedDistance : float; 

function Awake() 
{ 
previousPosition = transform.position; 
} 

function Update() 
{ 
calculatedDistance += (transform.position - previousPosition).magnitude; 
previousPosition = transform.position; 
distanceScore = Mathf.Round(calculatedDistance/10); 
score = distanceScore + starScore; 
print("The score is: " + score); 
}