zoukankan      html  css  js  c++  java
  • Unity 脚本系统

    什么是脚本?脚本是一个 MonoBehavior, 继承关系是

    MonoBehavior -> Behavior -> Component -> Object

    GameObject 的行为是由附加到他们身上的组件控制的。

    游戏事件

    MonoBehavior

    类名和脚本名必须要一样

    public class MainPlayer : MonoBehaviour {

        public string myName;

        // Use this for initialization

        void Start () { }

        // Update is called once per frame

        void Update ()

        { }


    不可以有构造函数。对象的创建是由编辑器创建的,并不是在游戏开始时创建的。

    这个 My Name,是编辑器自动根据你的变量名生成的, 只是为了显示而已。

    GetComponent 函数:脚本本身是一个组件,调用 GetComponent 函数是取同属本GameObject对象的另一个组件,就是取兄弟组件。

    所以,在脚本中使用 transform 变量是什么意思呢?就是 transform = GetBelongGameObject().GetComponent<Transform>();

    void Start () {

    transform.position = Vector3.zero;//本来应该是通过 GetComponent() 函数来获取 transform 组件,但是因为这个组件太常用了,所以就用一个变量直接存起来了。

    // 内置的脚本组件对象可以在 MonoBehavior 文档中查看。

    }

    public class Enemy : MonoBehaviour {

    public GameObject player; // 在当前component存储其他对象的引用

    public Transform strans; // 在当前component存储其他component类型的变量,在这种情况下,你可以在编辑器中把任何包含 Transform 这个组件的对象赋给这个变量!

       void Start() {

            // Start the enemy ten units behind the player character.

           // 仍然可以访问 player.GetComponent()

            transform.position = player.transform.position - Vector3.forward * 10f;

        }

    }

    查找子对象

    Transform lst = new Transform[transform.childCount];

    for (Transform t in transform) {

       lst[i++] = t;
    }

    提示:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。
    如果对文章有任何问题,都可以再评论中留言,我会尽可能的答复您,谢谢你的阅读
  • 相关阅读:
    转载Typora学习笔记
    SpringMVC整体接受前台参数
    基于SSM框架实现oa项目
    Don't know how to iterate over supplied "items" in &lt;forEach&gt;
    springMVC自定义类型转换器(date类型转换)
    springMVC异常处理
    linux服务器基础运维
    什么是服务器
    mysql binlog日志 恢复数据,mysqldump备份
    nginx LVS Haproxy
  • 原文地址:https://www.cnblogs.com/dabiaoge/p/4122945.html
Copyright © 2011-2022 走看看