2017-10-19 220 views
0

我正在审阅项目的代码。如何将对象移动到Unity中的随机坐标?

我想要做的是下面的图片。 enter image description here

我对这个项目有一些疑问。

作为一个初学者,我没有足够的解释, 但我会很感激,如果你可以看看它。

这里有几个问题:

  1. 我如何创建一个名为small_star作为无限期的对象,如在图片?

  2. 当前,预制的x,y坐标值以场景为中心。 如何以像照片一样的随机坐标移动物体?当我查看代码时,我使用Mathf.Cos和Mathf.Sin。它有什么影响?

我想我应该实现它,但是对我来说编写代码太多了。 我是初学者。如果你能给我一个具体的解释,我会很感激。

+1

您是否尝试过'Random.Range(minValue(最小值),包括maxValue)'? – Steven

+0

是的,我试过 –

+0

在脚本中添加StarAnimation代码(出现在图片右侧) –

回答

2

你不提供太多的信息,但是这可能工作

public GameObject small_star; 
public float xMinBoundary; 
public float yMinBoundary; 
public float xMaxBoundary; 
public float yMaxBoundary; 

void MoveSpaceShip(){ 
    float randX = Random.Range (xMinBoundary, xMaxBoundary); 
    float randY = Random.Range (yMinBoundary, yMaxBoundary); 
    Vector2 target = new Vector2 (randX,randY) 
    //Option 1 
    //small_star.transform.Translate(target * Time.deltaTime); 
    //Option 2 
    small_star.transform.position(target) 
} 

您需要适应您的需求

+0

嗯...你需要更多的信息吗? –

+0

我真的不知道你想如何立即或视觉翻译的开始。你不想移动GameObject的边界。这将需要为Random.Range定义 –