- 最后登录
- 2016-8-29
- 注册时间
- 2012-8-25
- 阅读权限
- 90
- 积分
- 23585
- 纳金币
- 20645
- 精华
- 62
|
- void Update ()
-
- {
-
- if(Input.GetMouseButtonDown(0))
-
- {
-
- RayControl();
-
- }
-
- if(flagMove)
-
- {
-
- if(Vector3.Distance(transform.position,mousePos)>1)
-
- {
-
- transform.Translate(transform.worldToLocalMatrix* transform.forward * Time.deltaTime*5);
-
- }
-
- else
-
- {
-
- flagMove=false;
-
- }
-
- }
-
- }
-
- void RayControl()
-
- {
-
- Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);
-
- if(Physics.Raycast(ray,out hit,200))
-
- {
-
- GameObject targetPos=GameObject.CreatePrimitive(PrimitiveType.Sphere);
-
- targetPos.transform.localScale=new Vector3(0.5f,0.5f,0.5f);
-
- mousePos=hit.point;
-
- mousePos.y=transform.position.y;
-
- targetPos.transform.position=mousePos;
-
- targetDir=mousePos-transform.position;
-
- Vector3 tempDir=Vector3.Cross(transform.forward,targetDir.normalized);
-
- float dotValue=Vector3.Dot(transform.forward,targetDir.normalized);
-
- float angle=Mathf.Acos(dotValue)*Mathf.Rad2Deg;
-
- if(tempDir.y<0)
-
- {
-
- angle=angle*(-1);
-
- }
-
- print(tempDir.y);
-
- print(“2:”+angle);
-
- transform.RotateAround(transform.position,Vector3.up,angle);
-
- flagMove=true;
-
- }
-
- }
复制代码 |
|