[第二十八天]从0开始的UnityAR手机游戏开发-虚拟摇杆 Joystick 02

新增一个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会出现一个绿色正方体的边框,拖曳边框里面的正方形调整它的大小。
https://ithelp.ithome.com.tw/upload/images/20211012/20140569cDW2bzXuEH.png

放在SJ001的PlayerController脚本两个Axis名称必须和Joystick的Axis名称相同
https://ithelp.ithome.com.tw/upload/images/20211012/20140569sFaL81jYP5.png


下一章节会教攻击按钮和UI血条


<<:  大共享时代系列_026_第三方物流(Third-Party logistics,3PL)

>>:  开源网路钓鱼框架-Gophish(下)

从 IT 技术面细说 Search Console 的 27 组数字 KPI (18) :结构化资料(其他)

在结构化资料中,有几种情形: 在 Schema.org 中有写的,这部份是除了 Google 自己加...

简单的先做 VS 技术难题先做

这个问题来自於我的专案执行的经验,也让大家一起想想看。 在收到专案後,第一个动作就是去寻找这个专案的...

Day01: 01 - 前置准备: 版面设计、安装、开启专案

Hello! 我是Charlie。 在这「30天肝出购物网站」系列文章中,我将与大家分享如何使用Dj...

从零开始的8-bit迷宫探险【Level 24】谁才是高玩?纪录本机最高得分

「你只要懂水晶,水晶就会帮助你。」 回村後,山姆卖出了所有水晶,瞬间成为村子里最富有的人。 其他城...

从零开始的8-bit迷宫探险【Level 27】神助攻-老弟帮我配个音效

奄奄一息的山姆躺在地上,脑海中浮现了人生跑马灯。 「我为什麽会在这里?我的梦想,终究只是梦想吧.....