我的小君主不可能这么鬼畜!(该用摇杆跑路了?!)

精华修改于2019/09/23393 浏览综合
继视角之后,小君主她终于要安上轮子跑了!但是这边不会安装履带的,那玩意又费劲又麻烦又耗时又鬼畜...
TapTap
所以接着就是还原WOT B的移动操作嘛列个清单~摇杆....摇杆....摇杆....
TapTap
算了,直接开写先作一个固定摇杆,定一个圈
TapTap
TapTap
大概就在图上的位置创建吧
那以这个摇杆原点坐标为中心开始创作UI摇杆
再新建一个和摇杆环一样大小按钮与一个摇杆的点
TapTap
按钮按着时读取多屏触碰的左半屏(触碰2)然后替换掉前面的摇杆点和按钮的坐标
TapTap
这样一个基本的摇杆按钮就好了!
但是还有些问题,比如按钮能拖到环外
TapTap
然后数据可能过大问题,于是乎重点来了:给摇杆加上位移限制!可能这边比较笨,所以还是用到了贝赛尔,没错!还是贝赛尔!(上一贴能找到贝赛尔的食用方式)
TapTap
按下摇杆后检测坐标和摇杆原点之间的角度和相对的X参数正负读取环上的点(UI大小都是像素坐标,所以和UI大小移动相关的要注意像素坐标与屏幕坐标和的转化)作为极限点,接着把移动的坐标和方向极限点拆开用最大值和最小值来限制。
TapTap
最后再添加一个按钮是否按住的设定来使其回正。
TapTap
一个摇杆应此而生!(原来的按钮可以都隐藏了!)
但是WOTB的玩家都应该知道WOTB摇杆的方式吧,单纯的摇杆可实现不了,所以这边想出了一个概念,用 方位号 去改变坦克的机动方式!所谓方位号就是以你的摇杆方向和状态来决定行动的编号,操作粗糙化以得到想要的效果:
TapTap
如上图,当拖动到某个方位时会输出方位号,然后就会进行指定的动作。(例:0为无动作,1为前进,3左转等等)于是可以根据这个想法,调用前面的X正负判断和角度系数来取得1-8方位号,0方位号需要得到触碰位置差的长度来判定。
TapTap
(繁琐的工序..啧)
这样摇杆的变成了方位号输出了,最后搞下车控,新建一个自定义方法,这时候需要三个参数了:摇杆方位号,摇杆角度系数(WOTB移动操作前进转向有根据摇杆的角度来改变车子的转向速度)和摇杆位置差的长度(拖出距离,游戏有根据拖出距离来确定坦克速度)
TapTap
在摇杆自定义方法下调用(没错,自定义方法可以套用自定义方法,这边管这叫俄罗斯套稽)
TapTap
然后编写主体,原理是根据方位号改变两边轮子转速再输出到轮子上面,记得要给轮子命名左右区分轮子o,不然晕头转向写错了就会原地龙卷风,摧毁停车场。
TapTap
还要根据摇杆方向去改变摇杆系数大小来适应后退的机动,不过直接后退可以直接用0减去速度(那就等于负数了,这边觉得四则运算应该不用讲吧#小学老师会哭的欸#)
TapTap
最后摇杆输出到车轮的程式其实不难,但是繁琐,很令人厌烦是8~不过呢,这边还有一个:白嫖时刻!
帖子发布后一会会上架复制品(上次发的白嫖时刻的机械还有几分钟下架,如果帖主不记得了可以砍爆)
最后祝你游戏愉快!
TapTap
8
5
12