纳金网

标题: 鼠标点击控制人物行走的代码 [打印本页]

作者: 王者再临    时间: 2014-12-31 21:53
标题: 鼠标点击控制人物行走的代码
  1. void Update ()

  2. {

  3. if(Input.GetMouseButtonDown(0))

  4. {

  5. RayControl();

  6. }

  7. if(flagMove)

  8. {

  9. if(Vector3.Distance(transform.position,mousePos)>1)

  10. {

  11. transform.Translate(transform.worldToLocalMatrix* transform.forward * Time.deltaTime*5);

  12. }

  13. else

  14. {

  15. flagMove=false;

  16. }

  17. }

  18. }

  19. void RayControl()

  20. {

  21. Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);

  22. if(Physics.Raycast(ray,out hit,200))

  23. {

  24. GameObject targetPos=GameObject.CreatePrimitive(PrimitiveType.Sphere);

  25. targetPos.transform.localScale=new Vector3(0.5f,0.5f,0.5f);

  26. mousePos=hit.point;

  27. mousePos.y=transform.position.y;

  28. targetPos.transform.position=mousePos;

  29. targetDir=mousePos-transform.position;

  30. Vector3 tempDir=Vector3.Cross(transform.forward,targetDir.normalized);

  31. float dotValue=Vector3.Dot(transform.forward,targetDir.normalized);

  32. float angle=Mathf.Acos(dotValue)*Mathf.Rad2Deg;

  33. if(tempDir.y<0)

  34. {

  35. angle=angle*(-1);

  36. }

  37. print(tempDir.y);

  38. print(“2:”+angle);

  39. transform.RotateAround(transform.position,Vector3.up,angle);

  40. flagMove=true;

  41. }

  42. }
复制代码





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5