Unity3D笔记九 发送广播与消息、利用脚本控制游戏

一、发送广播与消息

  游戏对象之间发送的广播与消息分为三种:第一种向子对象发送,将发送至该对象的同辈对象或者子孙对象中;第二种为给自己发送,发送至自己本身对象;第三种为向父对象发送,发送至该对象的同辈或者父辈对象中;

复制代码
using UnityEngine;
using System.Collections;

public class _4_3 : MonoBehaviour {

    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
        gameObject.BroadcastMessage("ReceiveBroadcastMessage", "A0-BroadcastMessage()");//向子类发送消息
        gameObject.SendMessage("ReceiveSendMessage", "A0-SendMessage()");//给自己发送消息
        gameObject.SendMessageUpwards("ReceiveSendMessageUpwards", "A0-ReceiveSendMessageUpwards()");//向父类发送消息
    }

    //接收父类发送的消息
    void ReceiveBroadcastMessage(string str)
    {
        Debug.Log("A0----Receive:"+str);
    }
    //接收自己发送的消息
    void ReceiveSendMessage(string str)
    {
        Debug.Log("A0----Receive:" + str);
    }
    //接收子类发送的消息
    void ReceiveSendMessageUpwards(string str)
    {
        Debug.Log("A0----Receive:" + str);
    }
}   
复制代码

二、游戏对象克隆

  使用Instantiate();方法来克隆游戏对象

 

复制代码
using UnityEngine;
using System.Collections;

public class _4_4 : MonoBehaviour
{

    GameObject obj;
    // Use this for initialization
    void Start()
    {
        obj = GameObject.Find("Sphere");
    }

    void OnGUI()
    {
        if (GUILayout.Button("克隆游戏", GUILayout.Width(100), GUILayout.Height(50)))
        {
            Object o = Instantiate(obj, obj.transform.position, obj.transform.rotation);//[ɪns'tænʃɪeɪt]
            Destroy(o, 5);//5秒后销毁该实例
        }
    }
    // Update is called once per frame
    void Update()
    {

    }
}
复制代码

三、旋转游戏对象

两种:第一种为自身旋转,意思是模型沿着自己的x轴、y轴或z轴方向旋转;第二种为围绕旋转,意思是模型围绕着坐标系中的某一点或某一个游戏对象整体来做旋转。

   transform.Rotate():该方法用于设置模型绕自身旋转,其参数为旋转的速度与旋转的方向。
   transform.RotateAround():该方法用于设置模型围绕某一个点旋转。
   Time.deltaTime:用于记录上一帧所消耗的时间,这里用作模型旋转的速度系数。
   Vector3.right:x轴方向。
   Vector3.up:y轴方向。
   Vector3.forward:z轴方向。

posted @   PEPE YU  阅读(1357)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示