• Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本]


    Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本]
    2013-02-19 15:29:33     我来说两句       作者:nnsword
    收藏    我要投稿
    其中涉及,移动速度,主角对象,目标点,射线碰撞等!~
     
    [javascript]  
    var moveSpeed:int=5;//player移动速度  
    var player:Transform;//定义一个人物的Transform  
    private var endposition : Vector3;  
      
    function Start()  
    {  
        endposition = player.transform.position;  
    }  
      
    function Update ()   
    {  
          
       if(Input.GetButtonUp("LeftMouse")){ //LeftMouse是在inputManager中设置的,左键值为mouse 0  
           PlayerMove();  
       }  
       var targetposition=player.TransformPoint(Vector3(0,48.8,-30));  
       transform.position=targetposition;//相机的目标位置,这两句代码的作用是让人物一直处于相机的视野下  
       if(endposition != player.transform.position){  www.2cto.com
           player.position=Vector3.MoveTowards(player.position,endposition,Time.deltaTime*moveSpeed);  
       }  
    }  
      
      
    function PlayerMove()  
    {  
        var cursorScreenPosition:Vector3=Input.mousePosition;//鼠标在屏幕上的位置  
        var ray:Ray=Camera.main.ScreenPointToRay(cursorScreenPosition);//在鼠标所在的屏幕位置发出一条射线(暂名该射线为x射线)  
        var hit:RaycastHit;  
        if(Physics.Raycast(ray,hit)){  
           if(hit.collider.gameObject.tag=="Terrain"){//设置地形Tag为Terrain  
               endposition = hit.point;  
           }  
        }  
    }     
  • 相关阅读:
    String类的常用方法(P小写)
    二维数组:判断是否有目标数
    java实现输入年份判断在哪一天(正则表达式待改进)
    Java实现八进制正整数转化为十进制数
    时钟和定时器
    电路的频率响应---带宽的定义
    stm32两轮平衡车资料
    二阶常系数齐次线性微分方程的解法
    同步积分
    陀螺仪信号解调
  • 原文地址:https://www.cnblogs.com/lifesteven/p/3665877.html
Copyright © 2020-2023  润新知