2016-04-03 27 views
-1

你好我在我的2.5D iso透視多人遊戲中使用了這個腳本,並沒有得到它的工作。我認爲這可能是因爲我使用了multiplayerunet組件。任何想法,問題可能是?我在Unity/Unet的多人示例項目中使用此代碼。甚至只是一個暗示將高度讚賞Unity5 - 單擊以移動腳本不起作用

using UnityEngine; 
using System.Collections; 

[DisallowMultipleComponent] 
public class PlayerControlerCTM : MonoBehaviour{ 
    [SerializeField][Range(1,20)] 
    private float speed = 10; 
    private Vector3 targetPosition; 
    private bool isMoving; 

    const int LEFT_MOUSE_BUTTON = 0; 

    // Use this for initialization 
    void Start() { 
     targetPosition = transform.position; 
     isMoving = false; 
    } 

    // Update is called once per frame 
    void Update() { 

     if (!isLocalPlayer) 
     { 
      return; 
     } 

     if (Input.GetMouseButton(LEFT_MOUSE_BUTTON)) 
     { 
      SetTargetPosition(); 
     } 

     if(isMoving) 
     { 
      MovePlayer(); 
     } 
    } 

    void SetTargetPosition() 
    { 
     Plane plane = new Plane(Vector3.up, transform.position); 
     Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 
     float point = 0f; 

     if(plane.Raycast(ray, out point)) 
     { 
      targetPosition = ray.GetPoint(point); 
     } 
    } 

    void MovePlayer() 
    { 
     transform.LookAt(targetPosition); 
     transform.position = Vector3.MoveTowards(transform.position, targetPosition, speed * Time.deltaTime); 

     if(transform.position == targetPosition) 
     { 
      isMoving = false; 
     } 

     Debug.DrawLine(transform.position, targetPosition, Color.red); 
    } 
} 
+0

「你」是告訴問題出在哪裏的人。 「我們」幫助您解決問題。 :) – Mangesh

+0

爲什麼這個PlayerControlerCTM是一個MonoBehaviour,而不是NetworkBehaviour? – FLX

回答

0

您的播放器是不動的,因爲你永遠不會改變的isMoving其價值你設置。 試試這個:

void SetTargetPosition() 
{ 
    Plane plane = new Plane(Vector3.up, transform.position); 
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 
    float point = 0f; 

    if(plane.Raycast(ray, out point)) 
    { 
     targetPosition = ray.GetPoint(point); 
    } 
    isMoving = true; // ADD THIS LINE 
} 
+0

Thx求助! 愚蠢的我!解決了問題,對我來說太多的代碼行;) – flasher213

+0

順便說一句哈哈哈,檢查答案,以便線程得到解決^^ – marsh

+0

thx didnt知道。我想我是。 – flasher213