虚拟摇杆吸附到触摸的位置后,怎么能直接使用?



  • 现在是点一下屏幕摇杆可以吸附到手指位置,但是要离开屏幕之后再点一下才能移动摇杆,怎么能直接拖动 摇杆



  • 从你的描述来看,你是要做动态式的摇杆吧,就是触屏在哪里就摇杆出现在哪,并直接触发摇杆拖动。默认的摇杆组件是没法做到这个效果的,默认的摇杆判定按中摇杆组件后才会触发摇杆拖动,而通过事件表移动到触屏位置后,是没法触发摇杆拖动的,这个效果只能自己用事件表实现,我发一个我从官方教学群下的动态摇杆范例吧,差不多就是这个效果的,不过我还没实际投入到具体游戏的使用,只看效果的话是有效的,你就当作思路研究看看吧。 自制动态摇杆.evk GIF.gif



  • @欧拉欧拉 谢谢



  • @欧拉欧拉 请问有没有方法可以直接导入到另一个文件里



  • 不用了,我看懂并自己做了一个,太感谢您了!



  • @kp_L 虽然你已经做完了,但还是说一下,跨工程的话可以复制对象和事件表的🤔



  • @欧拉欧拉 会提示缺变量来着,,,



  • @kp_L 倒确实,变量的话需要自己对着名字自己添加😂



  • @欧拉欧拉 请问您一下,目前点击屏幕这个摇杆会默认为某方向移动。能不能取消掉这个效果,让摇杆拉动一定距离再有反应



  • @欧拉欧拉 好像是因为默认角度是0,
    已经通过将
    “当摇杆-45~45,则主角右移”改为“当摇杆-45~-0.001或0.001~45,则主角右移”避开0度解决了按下屏幕就跑的问题。

    但还是想问一下有没有什么办法判断摇杆拉动的距离



  • @kp_L 距离可以用distance来获取,distance是一个系统表达式,distance(x1,y1,x2,y2)会返回 点(x1,y1)到点(x2,y2) 的距离,所以拿摇杆底和摇杆浮块的x,y坐标,填入这个distance的参数部分,然后去比较这个返回值就好了,可以用系统里的【比较两值】条件,这个条件的两个输入框都可以随意填任意表达式,很适合这种需要计算后才进行比较的情况。



  • @欧拉欧拉 谢谢



  • @欧拉欧拉 做了8个关卡了,用键盘玩还好,但是用这个摇杆手感稀烂……总是不能在想拐弯的地方拐弯,请问有没有优化手感的技巧啊



  • @kp_L 手机上的摇杆并不容易制作,因为没有实体键,通用的方式肯定或多或少手感稀烂的,我个人的看法是根据游戏类型或游戏的关卡设计来做虚拟摇杆,像俯视角射击游戏,如果关卡设计上没有太需要精确的点击移动操作的话,摇杆设计可以以拖拽的舒适度为主,如果需要精准的点击移动操作(即点一下对应移动方向,然后角色就移动,而不是必须要拖拽摇杆角色才移动),则设计上用这种“点在哪,摇杆就出现在哪”的方法就会损坏玩家的游戏体验。所以你需要去思考你的关卡的设计思路,它涉及了哪些允许的操作,这些操作如何用虚拟摇杆去还原等等。



  • 如果我手指落在(0,0),然后滑动到(100,0)人物会向右走,此时如果想回头,需要滑动到至少(-1,0)就是要往回划更远的距离。

    我想要向右滑动100人物向右走,然后向左滑动50就可以回头走的效果,,而不用划过原点。请问大神有没有方法实现



  • @kp_L 你可以试着让摇杆的基盘朝你的手指方向设置位置至临近50的距离,也就是摇杆基盘朝 angle(摇杆基盘.x,摇杆基盘.y,触屏操作.x,触屏操作.y) 角度的方向设置 distance(摇杆基盘.x,摇杆基盘.y,触屏操作.x,触屏操作.y)-50 的距离 (注意这里的触屏操作xy需要根据你的实际设置做对应变动,具体变成触屏操作.xat(xxx),还是其他的,看你自己目前的设置)。



  • 天才啊,谢谢解答


登录后回复