我想在随机位置生成 obj,它可以在 X 轴上以随机速度移动
I want to generate obj at random places which can move in random speed in X axis
我正在做某事。在这个项目中,我想在随机位置生成一个可以从左到右连续移动的对象。到目前为止我已经得到了这个。
这是一个 class 的内部开始,它生成 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);
}
和
附加到它的 holder 对象有一个方法。
updatePosition(){
//moveSpeed = Random.Range(1,3);tried this
startingPos.x = moveSpeed * Mathf.Sin(Time.time);//*moveSpeed
transform.position = startingPos;}
这段代码可以生成多个对象。但从左到右的罪恶速度相同。
我改变移动速度。一些对象移动到屏幕的一半,有些已经满了。我希望所有对象以不同的速度移动到全屏。
感谢您的回答。
使用这个:
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);
}
moveSpeed = Random.Range(1,3);
moveDistance = 1.0f;
}
void Update()
{
startingPos.x = moveDistance * Mathf.Sin(Time.time * moveSpeed);
transform.position = startingPos;
}
如果这不是您想要的,请更详细地描述您的情况,我会编辑答案。
我正在做某事。在这个项目中,我想在随机位置生成一个可以从左到右连续移动的对象。到目前为止我已经得到了这个。
这是一个 class 的内部开始,它生成 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);
}
和
附加到它的 holder 对象有一个方法。
updatePosition(){
//moveSpeed = Random.Range(1,3);tried this
startingPos.x = moveSpeed * Mathf.Sin(Time.time);//*moveSpeed
transform.position = startingPos;}
这段代码可以生成多个对象。但从左到右的罪恶速度相同。
我改变移动速度。一些对象移动到屏幕的一半,有些已经满了。我希望所有对象以不同的速度移动到全屏。
感谢您的回答。
使用这个:
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);
}
moveSpeed = Random.Range(1,3);
moveDistance = 1.0f;
}
void Update()
{
startingPos.x = moveDistance * Mathf.Sin(Time.time * moveSpeed);
transform.position = startingPos;
}
如果这不是您想要的,请更详细地描述您的情况,我会编辑答案。