Unity3D开发常用API之消息发送(八)

本节要点

1.金钱副本细节完善

1.主角战斗

①主角碰撞到 Box,Box 消失后,在消失的位置生成 1 枚金币;

②金币设置为触发器模式,且自身要不停的旋转;

③主角编写触发器处理代码,触发销毁金币。


2.SendMessage 消息发送

1.SendMessage 函数

gameObject.SendMessage(string):通知这个游戏物体身上的脚本文

件中的“指定方法”执行。

参数说明:

String:方法名,要执行的方法的名称;







2.完善金钱副本

①创建一个 GUIText 用于显示分数;

②给金币创建脚本,金币获取到 GUIText 组件的引用;

③在金币脚本中编写“增加分数”的函数;

④当金币销毁时,SendMessage 通知该“增加分数”函数执行。






关键代码

GoldRotate

public class GoldRotate : MonoBehaviour {


    //让金币旋转
    private Transform m_Transform;


    //完善金币,让金币分数喜爱是出来;
    private GUIText m_GUIText;

    // Use this for initialization
    void Start () {
    //获取游戏对象组件
        m_Transform=gameObject.GetComponent();


        //获取游戏对象 gui组件

        // GameObject.Find("Score");//在别的脚本通过find的方法能找到这个游戏对象;
        m_GUIText=GameObject.Find("Score").GetComponent();


    }
    
    // Update is called once per frame
    void Update () {

        m_Transform.Rotate(Vector3.forward,10f);//有重载的方法,注意调用的是那个 参数1:旋转的方向 参数2:旋转的角度
    }



    //让分数累加的方法; 因为金币消失时候给你发条消息通知你累计,所以必须是公开的;
    int s = 0;//定义初始分数
    public void AddScore() {
       
        s = int.Parse(m_GUIText.text);//默认是字符串,必须强转 才能累加
        //检查有没有打印
       // Debug.Log(s);
        s++;
        m_GUIText.text = s.ToString();//(s++)+"";
    
    }



}

小结

Unity3D开发常用API之消息发送(八)_第1张图片
Unity API.png

你可能感兴趣的:(Unity3D开发常用API之消息发送(八))