JS - Unity - 一个数字的倍数

时间:2013-09-24 03:21:46

标签: javascript cycle unityscript

我有一个产生WaitForSeconds,transform.position.y = transform.position.y + 1;不断增加数字的循环。

在底部,我将有52个:

    function Update () {
        if (transform.position.y ? == 1) {
print ("Part2")
        }

        if (transform.position.y ? == 2) {
print ("Part3")
        }

        if (transform.position.y ? == 3) {
print ("Part4")
        }
    etc...

如何设置它以便让它说'Part2',transform.position.y必须是2,54,106等...(永远向前)。 非常感谢

2 个答案:

答案 0 :(得分:0)

这样的东西?

if ( transform.position.y == 2 || transform.position.y == 54 || transform.position.y == 106 ) {
   print ("Part2");
}

答案 1 :(得分:0)

你可以使用mod运算符(Javascript中的%)返回division remainder of two integers

例如:

  • 7 % 2 = 1

所以transform.position.y % 52会完全按照您的意愿行事:

  • 0 % 52 = 0
  • 1 % 52 = 1
  • 2 % 52 = 2
  • ...
  • 51 & 52 = 51
  • 52 % 52 = 0
  • 53 % 52 = 1
  • 54 % 52 = 2
  • 等......

要从1-52代替0-51,您只需在结果中添加一个。

所有在一起:

function Update() {
    var part : int = transform.position.y % 52 + 1;
    print( "Part" + part.ToString() );
}