AI 人工智能 探索 (一)

碰撞检测

 

        //逗留碰撞
        void OnTriggerStay (Collider other)
        {
                if (other.transform.name == name) {
                        //检测距离
                        //根据距离 发射子弹,

                }
    
        }

        private bool peng = false;//和目标物体发生碰撞没有
        private string name;//目标
        //进入碰撞
        void OnTriggerEnter (Collider other)
        {
                table.Add (other.transform.name, other.transform);
                //
                if (peng == false) {//如果没碰,
                        foreach (DictionaryEntry de in table) {  
                                //检测碰撞,发现导入方法
                                //加入  
                                Transform transform = de.Value as Transform;
                                if (jiance (transform)) {
                                        name = other.transform.name;
                                        peng = true;
                                }
                        } 
                }
                         
                
        }
        //离开碰撞
        void OnTriggerExit (Collider other)
        { 
                table.Remove (other.transform.name);
                //如果消失
                if (other.transform.name == name) {
                
                        peng = false;
                }
        }

        bool jiance (Transform tr)
        {
                //判断是否符合条件
                if (tr == transform) {
            //这里写方法判断逻辑
                     if(tr.GetComponent<"对方属性类">()."相关属性" == this.transform.GetComponent<"自己属性类">()."相关属性")
            { 
                //可以打到 
                return true;
            }else
            {//重新选择敌人
                        return false;
                }
        }
    }

上面是 角色被动 技能,下一节 探讨 主动技能 实现 

posted on 2014-12-02 16:53  太粗难进  阅读(412)  评论(0编辑  收藏  举报