https://github.com/eva-engine/eva-plugin-joystick
joystick for Eva.js
https://github.com/eva-engine/eva-plugin-joystick
Last synced: about 1 year ago
JSON representation
joystick for Eva.js
- Host: GitHub
- URL: https://github.com/eva-engine/eva-plugin-joystick
- Owner: eva-engine
- License: mit
- Created: 2021-08-10T13:59:25.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-09-05T06:52:27.000Z (almost 5 years ago)
- Last Synced: 2024-08-07T08:02:34.855Z (almost 2 years ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/eva-plugin-joystick
- Size: 288 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Eva.js Joystick
基于 Eva.js 的虚拟摇杆
[Play demo](https://fanmingfei.github.io/eva-plugin-joystick/)

注意事项:
- 不要设置被添加游戏对象的宽高
- 手指跟随的情况下无法使用anchor `待解决`
## Usage
```bash
npm i eva-plugin-joystick
```
```js
import { Joystick } from 'eva-plugin-joystick'
const go = new GameObject('joystick')
const joystick = go.addComponent(new Joystick({
followPointer: {
open: true,
area: {
x: 0, y: 0,
width: 400,
height: 600
}
}
}))
joystick.on(JOYSTICK_EVENT.Begin, (data) => {
console.log('begin', data)
})
joystick.on(JOYSTICK_EVENT.Drag, (data) => {
console.log('drag', data)
})
joystick.on(JOYSTICK_EVENT.End, (data) => {
console.log('end', data)
})
game.scene.addChild(go)
```
## 参数
- limitRadius `number` `optional`
摇杆的半径,限制操作杆的移动范围
- boxImageResource `string` `optional`
背景图片
- boxRadius `number` `optional`
背景图片的半径
- btnImageResource `string` `optional`
操作杆的图片
- btnRadius `number` `optional`
操作杆图片的半径
- followPointer `object` `optional`
手指跟随
- open `boolean`
是否打开手指跟随
- area `object` `request`
手指跟随生效的范围 必填
- x `number`
- y `number`
- width `number`
- height `nubmer`
## 事件
```js
joystick.on(JOYSTICK_EVENT.Begin, (data) => {
console.log('begin', data)
data.x
data.y
})
```
### 事件名
参数为摇杆移动的二维向量,-1,1之间
- JOYSTICK_EVENT.Begin
摇杆开始事件
- JOYSTICK_EVENT.Drag
摇杆拖拽事件
- JOYSTICK_EVENT.End
摇杆结束事件
### 回调函数参数
- x
当前的joystick向量 x 值 -1 ~ 1 之间
- y
当前的joystick向量 y 值 -1 ~ 1 之间
- updateParams
当前update事件的参数
- deltaTime: number;
每帧间隔时间,可以用于物体匀速运动
- frameCount: number;
当前游戏总帧数
- currentTime: number;
当前游戏时间
- fps: number;
当前游戏帧率