【问题标题】:Unity won't accept my float (JS, 2d)Unity 不会接受我的浮点数(JS,2d)
【发布时间】:2015-04-15 07:07:50
【问题描述】:

我正在制作一个自上而下的“atari”类型游戏,最近遇到了一些麻烦,我正在使用 transform.position 来更改屏幕上的坐标,但使用 GetKey 移动速度有点太快,所以我尝试使用一个可以减慢进度的浮点数,现在它根本不动......这是我的代码

 #pragma strict
 var xCoor = 0;
 var yCoor = 0;    


 function Start () {
 }

 function Update () {    

     if(Input.GetKey (KeyCode.D))
         xCoor += 0.5;
         transform.position = Vector2(xCoor,yCoor);
     if(Input.GetKey (KeyCode.W))
         yCoor += 0.5;
         transform.position = Vector2(xCoor,yCoor);
     if(Input.GetKey (KeyCode.A))
         xCoor += -0.5;
         transform.position = Vector2(xCoor,yCoor);
     if(Input.GetKey (KeyCode.S))
         yCoor += -0.5;
         transform.position = Vector2(xCoor,yCoor);
 }

您可能会告诉我是 Unity 新手,所以如果有更好的方法,请分享!谢谢;)

【问题讨论】:

  • 可能不相关,但您在 if 中缺少大括号。应该是这样的: if(Input.GetKey (KeyCode.D)) { xCoor += 0.5; transform.position = Vector2(xCoor,yCoor); }
  • 无论哪种方式都可以,这是我整理的快速代码,我知道括号是很好的做法
  • @DanielBickerdike 您的代码有效,但几乎是偶然的,哈哈。由于您没有任何括号,因此您始终设置 transform.position (无论条件如何)。

标签: unity3d unityscript


【解决方案1】:

我不确定,但我相信您的 xCoor 是 int 类型。因此,当您尝试向其添加浮动时,它不会改变。

将 xCoor 和 yCoor 的定义改为 0.0 而不是 0,看看是否可行。

#pragma strict
var xCoor = 0.0;
var yCoor = 0.0;   

此外,正如 cmets 中所指出的,您确实应该在 if 语句之后放置一些大括号,这样您就会得到不需要的结果。

function Update () {    
    if(Input.GetKey (KeyCode.D)) {
        xCoor += 0.5;
        transform.position = Vector2(xCoor,yCoor);
    }

    if(Input.GetKey (KeyCode.W)) {
        yCoor += 0.5;
        transform.position = Vector2(xCoor,yCoor);
    }

    if(Input.GetKey (KeyCode.A)) {
        xCoor += -0.5;
        transform.position = Vector2(xCoor,yCoor);
    }

    if(Input.GetKey (KeyCode.S)) {
        yCoor += -0.5;
        transform.position = Vector2(xCoor,yCoor);
    }
}

【讨论】:

  • 非常感谢!!!!它起作用了:) 我没有意识到你需要把它放在第 10 位才能让它变成一个浮点数
  • @DanielBickerdike 没问题 :-)。我添加了一个编辑来帮助你。如果这就是你所需要的,你能把我的答案标记为正确吗?
  • var xCoor: float = 0.0f;变量 yCoor:float = 0.0f;也可以。如果需要,将变量初始化为浮点数。
  • var xCoor: float = 0 本身不起作用。还是您需要加倍声明它为浮点数?
猜你喜欢
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多