我正在开发游戏,您可以使用鼠标左键实例化多维数据集。现在我想用箭头键旋转这些实例化多维数据集。我想知道,我如何使用我的Instantiated Cube连接下面的代码! (我的实例化多维数据集正在保存在List btw中。)
我的轮换代码:
if (Input.GetKey (KeyCode.LeftArrow))
{
transform.Rotate(0, 0, rotationAngle * Time.deltaTime, Space.World);
}
if (Input.GetKey (KeyCode.RightArrow))
{
transform.Rotate(0, 0, - rotationAngle * Time.deltaTime, Space.World);
}
答案 0 :(得分:4)
将该代码放在脚本中,并将其命名为RotateOnKeys,然后在脚本中实例化多维数据集,执行以下操作:
// This is the line of code that you're already using to spawn a cube:
GameObject cube = GameObject.Instantiate(cubePrefab) as GameObject;
// This is the line of code needed to attach a script:
cube.AddComponent<RotateOnKeys>();
答案 1 :(得分:3)
与大多数编程相关的事情一样,有几种方法可以做到这一点。
首先,你想把它放在MonoBehaviour中。具体来说,您可能希望它在Update()循环中。像这样:
public class SpinGameObject : MonoBehaviour
{
void Update()
{
if (Input.GetKey (KeyCode.LeftArrow))
{
transform.Rotate(0, 0, rotationAngle * Time.deltaTime, Space.World);
}
if (Input.GetKey (KeyCode.RightArrow))
{
transform.Rotate(0, 0, - rotationAngle * Time.deltaTime, Space.World);
}
}
}
如果您想在所有立方体上使用此功能,可以将其直接附加到正在实例化的预制件上。
否则,如果您想要选择要应用它的多维数据集,您可以获得包含多维数据集的实例化GameObject,然后调用以下函数:
void AttachScriptToGameObject(GameObject go)
{
go.AddComponent<SpinGameObject>();
}
希望有所帮助!
编辑: 很多人回应,所有这些工作:)
答案 2 :(得分:0)
嗯,你正在寻找一种叫做预制件的东西。 预制是预制对象,您可以向其中添加脚本等,然后您可以实例化预制件。一个prefab tutorial link
编辑或者你可以这样做@Jayson Ash方式。