新增一个C# Sprite并命名为PlayerController後开始撰写程序码
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Rigidbody m_rigidbody;
public string horizontalAxis = "Horizontal";
public string verticalAxis = "Vertical";
private float inputHorizontal;
private float inputVertical;
void Awake()
{
//抓取挂此脚本物件的Rigidbody
m_rigidbody = GetComponent<Rigidbody>();
}
void Update()
{
//抓取方向的数值
inputHorizontal = SimpleInput.GetAxis(horizontalAxis);
//抓取前进後退的数值
inputVertical = SimpleInput.GetAxis(verticalAxis);
//转弯
transform.Rotate(0f, inputHorizontal * 0.5f, 0f);
//前进或後退
m_rigidbody.AddRelativeForce(new Vector3(0f, 0f, inputVertical) * 30f);
//前进的数值不等於0的话
if (inputVertical != 0)
{
//rigidbody开始运作
m_rigidbody.WakeUp();
//切换小龙的奔跑动画
GetComponent<Animation>().Play("sj001_run");
}
else
{
////切换小龙的待机动画
GetComponent<Animation>().Play("sj001_wait");
//rigidbody停止运作
m_rigidbody.Sleep();
}
}
}
打开SJ001的Inspector点击Add Component新增Rigidbody和Box Collider,将刚刚写好的C#脚本拖曳给SJ001。
点击Box Collider的Edit Collider按钮Scene会出现一个绿色正方体的边框,拖曳边框里面的正方形调整它的大小。
放在SJ001的PlayerController脚本两个Axis名称必须和Joystick的Axis名称相同
下一章节会教攻击按钮和UI血条
<<: 大共享时代系列_026_第三方物流(Third-Party logistics,3PL)
在结构化资料中,有几种情形: 在 Schema.org 中有写的,这部份是除了 Google 自己加...
这个问题来自於我的专案执行的经验,也让大家一起想想看。 在收到专案後,第一个动作就是去寻找这个专案的...
Hello! 我是Charlie。 在这「30天肝出购物网站」系列文章中,我将与大家分享如何使用Dj...
「你只要懂水晶,水晶就会帮助你。」 回村後,山姆卖出了所有水晶,瞬间成为村子里最富有的人。 其他城...
奄奄一息的山姆躺在地上,脑海中浮现了人生跑马灯。 「我为什麽会在这里?我的梦想,终究只是梦想吧.....