zoukankan      html  css  js  c++  java
  • tookit2D使用7——愤怒的小鸟总结

    愤怒的小鸟总结:
    1
    网格碰撞器利用一个网格资源并在其上构建碰撞器。对于复杂网状模型上的碰撞检测,它要比应用原型碰撞器精确的多。标记为凸起的(Convex )的网格碰撞器才能够和其他网格碰撞器发生碰撞。
    需要注意的是要给碰撞物体增加刚体
    (对mesh collider的理解,由于碰撞产生的效果碰撞物体至少要有碰撞器和刚体才有碰撞效果,而在复杂物体中选中Convex,相当于给物体添加了碰撞器,那么就可以产生碰撞效果了)

    2
    当小鸟发与墙壁生碰撞时,使用void OnCollisionEnter(Collision collision)
    当小鸟和被救的小鸟是使用void OnTriggerEnter(Collider other)

    3 定期调用自定义代码

      public GameObject pig;
        void Start () {
            InvokeRepeating("createPig1", 0f, 1.6f);
        }
    
        void createPig1()
        {
            GameObject pigClone = GameObject.Instantiate(pig) as GameObject;
            float x = Random.Range(-4.5f, 3.9f);
            float y = Random.Range(-2.7f, 2.6f);
            pigClone.transform.position = new Vector3(x, y, -0.5f);
            Destroy(pigClone, 5);
        }

    3 播放声音函数

    void playAudio1(AudioClip clip)
    {
    AudioSource.PlayClipAtPoint(clip, this.transform.position);
    }

     public AudioClip zhuangji;

    //产生声音
    playAudio1(zhuangji);

    4 克隆游戏对象

    clone = (GameObject)Instantiate(bird);
    //clone.transform.position = new Vector3(-4, 2, -0.5f);

    5 加载下一关

    Application.LoadLevel("next");

    6 发布场景

    file——》buil setting——》添加场景

    7 保留场景对象不被销毁函数

    void Start()
    {
    DontDestroyOnLoad(this.gameObject);
    }

    8 控制值方向

    if (Input.GetKey(KeyCode.UpArrow))
    {
    this.transform.position += new Vector3(0, speed * Time.deltaTime, 0);
    }

    9 代码总结

    关于预设:以愤怒的小鸟为例,所用的关卡中都有红色小鸟,会有撞击,声音,营救成功能操作因此可以打赌写一个脚本给红色小鸟,将他设为预设,那么就可以拿去到处去用了。

  • 相关阅读:
    DocKer 创建容器 镜像端口映射失败
    Window中的Docker 拉取Mysql镜像 并在本地Navicate链接
    Mysql之主从复制
    Nginx 实现负载均衡
    如何将composer设置为全局变量?
    Linux安装telnet
    LINUX 安装扩展(笔记)
    PHP 开发 APP 接口 学习笔记与总结
    504 Gateway Time-out
    Luogu P1542包裹快递【实数域二分】 By cellur925
  • 原文地址:https://www.cnblogs.com/lv-sally/p/4545937.html
Copyright © 2011-2022 走看看