移动游戏开发--触屏控制之虚拟摇杆的实现

2021-04-01 09:24发布

想必大家都玩过手机游戏, 尤其在互联网极度发达的今天,5G网络和Wifi技术的普及,让我们可以随时随地的享受游戏带来的快乐!!也许你的队友正在上班的公交上、下班的地铁上或者百忙的厕所里!!而通过手机玩游戏时都离不开触屏控制,例如王者荣耀游戏中,通过虚拟摇杆控制人物角色的移动等功能的实现,接下来我们就探讨一下手机游戏中触屏功能的实现。

在手机游戏开发中,使用EasyTouch插件实现触屏控制功能的实现,它帮我们简化了很多复杂又繁琐的逻辑,封装出一个个简单实用,又非常具有扩展性的控件。

下载EasyTouch插件资源包, 将其导入到Unity中,在Hierarchy面板中点击鼠标右键,选择EasyTouch Controls,然后就会显示它所提供的控件,如图1-1。

 

图1-1 EasyTouch控件图示

EasyTouch给我们提供了多个控件,本文章重点学习Joystick, Joystick控件是一个摇杆控件,选择Joystick,EasyTouch会在屏幕上自动帮创建摇杆控件,摇杆控件的具体图像如图1-2。

图1-2 EasyTouch控件图示

Joystick主要由底盘与摇杆球构成, 拖动摇杆球可以在地盘方位内移动。通过图片素材透明度等方面的修改,可以很容易的做出类似王者荣耀摇杆的效果(如开篇游戏截图)。

Joystick的功能非常的丰富, 但主要是根据玩家的拖拽来控制游戏对象的移动或者旋转。如图1-3这是简略的属性,他提供了Joystick位置设置, 控制对象设置以及自定义事件接口。通过自定义事件接口可以为Joystick定义丰富的功能,也可以使用Axes properties 快速简单的控制物体。

图1-3 Joystick控件属性图示

图1-4 Axes properties属性图示

下面以通过Joystick控制Player在场景中移动为例,设置Axes properties。通过简单的设置,不需要写任何代码,就可以实现摇杆控制物体功能。

展开Axes properties项,如图1-4.Axes properties提供了通过拖拽Joystick获得拖拽产生的横纵数据控制物体。在Axes properties中主要分两块,Horizontal axis和Vectical axis,主要的功能是通过获取对应的轴向的数据,控制对应的物体。重点设置Direction ation中的属性,具体设置如图1-4,参数详解如下:

Direct action to :被控制的对象

Action : 控制的方式, Translate--平移  Rotate--旋转

Affected axis : 控制方式参考的轴

 

设置好Horizontal axis后再参考Horizontal axis设置Vertical axis;属性都是一样的,更改参考轴设置就可以,设置好后,就可以运行。这个时候就可以通过Joystick摇杆控制游戏对象啦!!其它的功能大家可以尝试着实现一下,也可以一起来讨论学习。