zoukankan      html  css  js  c++  java
  • Unity(GameObject)

    ####1. 这个方法用于发送一个数据到指定的方法中,第三个参数是是否强制接收

    以下三种方法发送消息的形式,各有不同的效果,可以通过第一个参数指定要发送的方法名名,第二个是发送的参数值,第三个参数是是否强制需要接受,不然就报错。此方法会让对应游戏对象下的所有脚本都会接收到这个发送的消息通知,并且如有接收函数就进行接收处理。

    public class ExampleClass : MonoBehaviour {
        void ApplyDamage(float damage) {
            print(damage);
        }
        void Example() {
            gameObject.SendMessage("ApplyDamage", 5.0F);//发送一个消息,发送给当前对象的所有脚本中
            gameObject.SendMessageUpwards("ApplyDamage", 5.0F);//发送一个消息,发送给当前对象以及其上面的所有对象
            gameObject.BroadcastMessage("ApplyDamage", 5.0F); //发送一个消息,发送包括当前对象以及以下的所有子对象
        }
    }
    复制代码

    ####2 创建GmaeObject对象

    void Start() {
            GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
            GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
            cube.transform.position = new Vector3(0, 0.5F, 0);
            GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            sphere.transform.position = new Vector3(0, 1.5F, 0);
            GameObject capsule = GameObject.CreatePrimitive(PrimitiveType.Capsule);
            capsule.transform.position = new Vector3(2, 1, 0);
            GameObject cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
            cylinder.transform.position = new Vector3(-2, 1, 0);
        }
    复制代码

    ####3 根据名字查找对应的空间游戏对象

    void Example() {
            GameObject hand = GameObject.Find("Hand");
            hand.name;
    }
    复制代码

    ####4 Instantiate克隆生成游戏对象

    using UnityEngine;
    
    public class InstantiateExample : MonoBehaviour
    {
        public GameObject prefab;
    
        void Start()
        {
            for (int i = 0; i < 10; i++)
                Instantiate(prefab, new Vector3(i * 2.0f, 0, 0), Quaternion.identity);
        }
    }
    复制代码

    转载于:https://juejin.im/post/5b3ac62e51882562302c404a

  • 相关阅读:
    (创建型模式)Abstract Factory——抽象工厂模式
    (结构型模式)Composite——组合模式
    (行为模式)Command——命令模式
    (创建型模式)Singleton——单例模式
    Windows的Notepad++的插件
    Ubuntu的软件源更新常见问题及解决
    The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key
    Ubuntu安装ImageMagick
    常见误操作之警惕
    Rails3.2.x new project启动错误:Could not find a JavaScript runtime.
  • 原文地址:https://www.cnblogs.com/twodog/p/12136587.html
Copyright © 2011-2022 走看看