【发布时间】:2018-08-31 05:38:52
【问题描述】:
我正在做某事。在这个项目中,我想在随机位置生成一个可以从左到右连续移动的对象。到目前为止,我已经得到了这个。
这是一个类的开始,它生成 50 个对象,当游戏加载时玩家可以在上面跳跃。
void Start () {
Vector2 pos = transform.position;
for(int i = 0; i < noOfHolder; i++)
{ pos.x = Random.Range(-3, 3);
pos.y += Random.Range(1, 5);
Instantiate(holder, pos, Quaternion.identity);
}
和
附加到它的持有者对象有一个方法。
updatePosition(){
//moveSpeed = Random.Range(1,3);tried this
startingPos.x = moveSpeed * Mathf.Sin(Time.time);//*moveSpeed
transform.position = startingPos;}
此代码可以生成多个对象。但从左到右的罪恶速度相同。
我改变移动速度。一些 obj 移动到屏幕的一半,一些已满。我希望所有对象以不同的速度移动到全屏。
感谢您的回答。
【问题讨论】:
-
在 holder 对象的 Start 方法中定义 moveSpeed = Random.Range(1,3) 不在更新中。另外,如果您希望对象从左向右移动,则需要一个标志来定义对象将开始向后移动的偏移量
标签: c# unity3d 2d game-physics