摇杆控制方向原理_用Vue实现一个街机游戏摇杆

本文介绍了如何在Vue中实现一个街机游戏摇杆的控制原理,包括三层UI设计、圆形拖拽区限制、杆体动态旋转和力度计算。通过组件化封装,可以方便地复用此功能,并提供了不同类型的摇杆UI实现,如街机摇杆和十字键。
摘要由CSDN通过智能技术生成

ce4efca0cdd92bcdf80edfd26df42f34.gif

前言

最早实现这个效果,是2011年用Objective-C在iOS里实现的。原仓库地址:https://code.google.com/archive/p/ccjoystick/downloads

在Vue里实现这个东西没啥用处,毕竟Vue也不是一个游戏框架,但是谁叫Vue这个话题的热度最高呢?,写文章还是希望被更多人看到嘛...

印象里我在不同时期曾经用三种语言分别实现过这个案例。所以无论用什么框架、语言,只要你了解背后的原理,都很容易实现。

三层UI

全部UI分为三层

  • 第一层是杆头,尺寸不会变化,拖拽的视觉效果区。
  • 第二层是杆体,高度可拉伸,用于拟物流模仿真实感。
  • 第三层是底,只是放在画面中,为了让视觉感受更完整。
a0242af9d1440141103a70585a402c4d.png

当然没有第二层和第三层是不影响摇杆功能的,但谁叫我是一个拟物流的前端偏执狂呢?

63efd435d7ec5b75d7d42fee58294089.gif

把这三个层通过绝对定位+z-index叠起来,通过设置touch事件让杆头可以拖动。为了让大家看得清楚层级,我们先把杆头变透明。

圆形的拖拽区

摇杆嘛&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值