|
楼主 |
发表于 2013-10-8 10:12
|
显示全部楼层
sorry,上面贴错了 那是第二章控制飞船移动的 结果是飞船不会动 但没显示说脚本出错,可以指定给角色,但角色不会移动 可以进入play模式。
以下才是fps的脚本 显示是图示的错误,指定给角色时显示有错
using UnityEngine;
using System.Collections;
public class Player : MonoBehaviour {
//组件
public Transform m_transform;
CharacterController m_ch;
//角色移动速度
float m_movSpeed = 3.0f;
//重力
float m_gravity = 2.0f;
//生命值
public int m_life = 5;
// Use this for initialization
void Start () {
//获取组件
m_transform = this.transform;
m_ch = this.GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
// 如果生命值为0,什么也不做
if (m_life <= 0)
return;
Control();
}
void Control()
{
float xm = 0, ym = 0, zm = 0;
//重力运动
ym -= m_gravity*Time.deltaTime;
//上下左右运动
if (Input.GetKey("W")){
zm += m_movSpeed * Time.deltaTime;
}
else if (Input.GetKey("S")){
zm -= m_movSpeed * Time.deltaTime;
}
if (Input.GetKey("A")){
xm -= m_movSpeed * Time.deltaTime;
}
else if (Input.GetKey("D")){
xm += m_movSpeed * Time.deltaTime;
}
//移动
m_ch.Move( m_transform.TransformDirection(new Vector3(xm, ym, zm)) );
}
void OnDrawGizmos()
{
Gizmos.DrawIcon(this.transform.position, "Spawn.tif");
}
}
|
|