鍵盤控制人物移動

來源:互聯網
上載者:User

標籤:

using UnityEngine;
using System.Collections;
using Assets.Model;

public class PlayerMove : MonoBehaviour {

// Use this for initialization
private PlayerAnimation m_ScriptPlayerAnimation;
public int PlayerMoveSpeed;
private UnityEngine.Vector3 MoveDistanceX, MoveDistanceY;
private CharacterController m_CharacterController;
private UnityEngine.Vector3 TargetPostion;
public int m_State;
private MoveDTO SendDto;
private string SendStr;
void Start () {
m_ScriptPlayerAnimation = this.GetComponent<PlayerAnimation>();

SendDto = new MoveDTO();
SendDto.name = GameInfo.GetInstance().MyHeroModel.name;
SendDto.map = GameInfo.GetInstance().MyHeroModel.map;
m_State = PlayerState.Idle;
PlayerMoveSpeed = 6;
m_CharacterController = this.GetComponent<CharacterController>();
if (gameObject.name == "jiansheng(Clone)")
PlayerMoveSpeed = -PlayerMoveSpeed;
}

// Update is called once per frame
void Update () {
MoveDistanceX = transform.right * PlayerMoveSpeed * Input.GetAxis("Horizontal");
MoveDistanceY = transform.forward * PlayerMoveSpeed * Input.GetAxis("Vertical");
if (MoveDistanceX + MoveDistanceY == UnityEngine.Vector3.zero)
m_ScriptPlayerAnimation.MyState = PlayerState.Idle;
else
{

m_CharacterController.SimpleMove(MoveDistanceX + MoveDistanceY);
m_ScriptPlayerAnimation.MyState = PlayerState.Move;
//發送自己的位置、狀態資訊給伺服器

SendDto.Point = new Assets.Model.Vector3(transform.position);
SendDto.Rotation = new Assets.Model.Vector4(transform.rotation);
SendDto.Dir = PlayerState.Move;
SendStr = Coding<MoveDTO>.encode(SendDto);

NetWorkScript.getInstance().sendMessage(Protocol.MAP, 0, MapProtocol.MOVE_CREQ, SendStr);
}

/* if(Input.GetAxis("Fire1")>0)
m_State = PlayerStates.attack1;
else if (Input.GetAxis("Fire2") > 0)
m_State = PlayerStates.attack2;
else if (Input.GetAxis("Fire3") > 0)
m_State = PlayerStates.skill;*/
}
}

鍵盤控制人物移動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.