这次作业是写太阳系和牧师与魔鬼那个游戏,牧师与魔鬼那个太长了,这星期我就做一下太阳系的吧。
- 写一个程序,实现一个完整的太阳系, 其他星球围绕太阳的转速必须不一样,且不在一个法平面上
1.首先先建立好太阳与九大行星,坐标设置为(0,Y,Z),因为这样转起来的时候比较方便设置法平面
2.然后把这个脚本文件挂载到九大行星上去,记得从左边那栏把对应的星球拉到对应的脚本上去,错了好几次了,先设置好速度,将它们的y,z坐标设置为随机数,这样轨道就不一样了,那个rotatearound就是拿来转圈的方法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class rotate : MonoBehaviour {
// Use this for initialization
public Transform origin;
public float speed = 20;
float ry, rz;
void Start() {
ry = Random.Range(1, 360);
rz = Random.Range(1, 360);
}
void Update () {
Vector3 axis = new Vector3(0, ry, rz);
this.transform.RotateAround(origin.position, axis, speed*Time.deltaTime);
}
}
怕麻烦,我就没弄太阳发光的效果出来。。