UnityStandardAssets里自带的Joystick脚本修改

在制作2D坦克大战项目中,使用Unity的StandardAssets预设摇杆控制坦克移动,但预设允许斜向移动和速度变化。通过修改MobileSingleStickControl的MobileJoystick子对象的Joystick脚本,实现坦克仅直行和横行,并保持匀速移动。在OnDrag函数中增加方向判断,并调整UpdateVirtualAxes函数传递固定向量,达到预期效果。
摘要由CSDN通过智能技术生成

最近打算做个2D坦克大战手游,然后去找实习,希望能够顺顺利利~
关于这个项目,我是想通过摇杆来控制坦克的移动,这让我想起StandardAssets里Characters.package的预设MobileSingleStickControl,配合ThirdPersonController和MultipurposeCameraRig这两个预设十分好用,先来幅效果图:
这里写图片描述

可是问题就是出在这,他们三者特别是摇杆和人物控制这两个预设,配合实在太完美,似乎完全是为对方而存在,如果直接把摇杆应用到我这个项目会有以下问题:
1、坦克一般只能直着或者横着走,而这个预设摇杆还会让坦克斜着走;
2、坦克的移动速度会用根据拖拽摇杆的强度而改变,事实上只需要知道摇杆的方向,坦克的移动速度就应该是匀速的
为了解决我的困惑,我研究了一下MobileSingleStickControl这个预设,当然作为新手的我并不能完全理解全部的信息,但我发现只需要修改该预设的MobileJoystick子对象的Joystick脚本,大概就能解决我的问题,让它成为我心目中的摇杆!
首先为了解决第一个问题,我在OnDrag函数增加了两个方向——横向和竖向的判断条件,从而修改了方向的结果。

这里写图片描述
(word作图,将

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值