2013-09-24 108 views
1

我有一个yield WaitForSeconds,transform.position.y = transform.position.y + 1;循环不断增加数字。JS - Unity - 一个数字的倍数

在底部,我将这些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... 

如何设置它,以便得到它说“第2部分”,该transform.position.y必须是2,54 ,106等(永远在前)。 很多不胜感激

回答

0

是这样的?

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

的是,这是控制分数所以,如果有人得到了得分30,450,本场比赛将无法认识到成绩脚本。我不太确定这个公式是否可以成为模式中的任何数字,而不是一组固定的数字。 – user2507295

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-520-51相反,你可以只添加一个结果。

一起:

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