【问题标题】:Tracking distance. Unity 2D game跟踪距离。统一2D游戏
【发布时间】:2012-12-01 10:42:38
【问题描述】:

如果我有一个在 x 轴上从 0 开始的对象,并在 x+ 轴上移动它。有没有办法可以跟踪距离并使用它来计算?

我不知道我在做什么,但在想类似的事情

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

这个动作是在移动时实时执行的。

编辑:

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

我有这个脚本可以让我保持距离,如果有帮助的话。

【问题讨论】:

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

标签: unity3d 2d unityscript


【解决方案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);
}

【讨论】:

    猜你喜欢
    • 2020-09-19
    • 2013-12-08
    • 2014-06-11
    • 2022-07-14
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多