首页 > 代码库 > CR开发笔记-2基础飞机的搭建以及测试代码

CR开发笔记-2基础飞机的搭建以及测试代码

好吧!今天没有建模,主要是美术细胞死了。

处于一种劳累的状态。

快速说一下今天的进度

啊,这就是一个逗比飞机的基本骨架。

没有什么好解释的。

这里开始坑人了,上面的红色箭头指的是是否利用重力,这里由于是飞船么,宇宙中暂时没有重力,所以去掉。

下面是的红红的是是否符合经典物理动力学。

(说白了就是是否可以支持Force,今天我以为他是是否失重,然后调了半天代码%>_<%)

然后贴代码。

public class levelRun : MonoBehaviour {

// Use this for initialization

void Start () {

        this.gameObject.AddComponent("standardShipControl");

}

 

// Update is called once per frame

void Update () {

}

}

这个文件绑定在每个关卡场景的levelRun里面,在这里是载入一个标准飞船控制脚本。以后还会载入各种GUI之类的文件,这样让整个体系更灵活化,便于操作。

下面是标准操作的一开始定义代码

public class standardShipControl : MonoBehaviour {

    GameObject ship;

    Transform frontLeftPropeller;

    Transform frontRightPropeller;

    Transform backLeftPropeller;

    Transform backRightPropeller;

    Transform backPropeller;

    Transform frontPropeller;

    Transform frontWing;

    Transform backWing;

// Use this for initialization

void Start () {

        ship = GameObject.Find("ship");

        frontWing = transform.Find("/ship/frontWing");

        backWing = transform.Find("/ship/backWing");

        backLeftPropeller = transform.Find("/ship/backLeftWingPropeller");

        backRightPropeller = transform.Find("/ship/backRightWingPropeller");

        frontLeftPropeller = transform.Find("/ship/frontLeftWingPropeller");

        frontRightPropeller = transform.Find("/ship/frontRightWingPropeller");

        backPropeller = transform.Find("/ship/backPropeller");

        frontPropeller = transform.Find("/ship/frontPropeller");

}

 

// Update is called once per frame

void Update () {

}

    void FixedUpdate(){

         if(Input.GetKey("w"))

        {

            //UnityEngine.Debug.Log("he");

           ship.rigidbody.AddForceAtPosition(ship.transform.forward, backPropeller.position);

        }

    }

}

需要注意的就是在外部加载的脚本,貌似在transform里的参数在前面需要加一个/否则找不到,原来加不加是一样的。

重要函数UnityEngine.Debug.Log("he")调试。

ship.rigidbody.AddForceAtPosition(ship.transform.forward, backPropeller.position);在固定点施加力。

结束!睡觉!

PS:(程序员不适合画画)