546 lines
17 KiB
Markdown
546 lines
17 KiB
Markdown
---
|
||
sidebarDepth: 1
|
||
---
|
||
# 控制
|
||
|
||
# 索引
|
||
|
||
| 事件 | <div style="width: 3em"></div> | 描述 |
|
||
| --- | --- | --- |
|
||
| [ClientJumpButtonPressDownEvent](控制.md#clientjumpbuttonpressdownevent) | <span style="display:inline;color:#7575f9">客户端</span> | 跳跃按钮按下事件,返回值设置参数只对当次按下事件起作用 |
|
||
| [ClientJumpButtonReleaseEvent](控制.md#clientjumpbuttonreleaseevent) | <span style="display:inline;color:#7575f9">客户端</span> | 跳跃按钮按下释放事件 |
|
||
| [GetEntityByCoordEvent](控制.md#getentitybycoordevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击屏幕时触发,多个手指点在屏幕上时,只有第一个会触发。 |
|
||
| [GetEntityByCoordReleaseClientEvent](控制.md#getentitybycoordreleaseclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击屏幕后松开时触发,多个手指点在屏幕上时,只有最后一个手指松开时触发。 |
|
||
| [GyroSensorChangedClientEvent](控制.md#gyrosensorchangedclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 触发时机:陀螺仪传感器姿态发生变化时 |
|
||
| [HoldBeforeClientEvent](控制.md#holdbeforeclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家长按屏幕,即将响应到游戏内时触发。仅在移动端或pc的F11模式下触发。pc的非F11模式可以监听[RightClickBeforeClientEvent](#rightclickbeforeclientevent)事件 |
|
||
| [LeftClickBeforeClientEvent](控制.md#leftclickbeforeclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家按下攻击/摧毁键时触发,例如鼠标左键、新触控攻击键、手柄右扳机键。鼠标左键仅在pc的普通控制模式(即非F11模式)下触发 |
|
||
| [LeftClickReleaseClientEvent](控制.md#leftclickreleaseclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家松开攻击/摧毁键时触发,例如鼠标左键、新触控攻击键、手柄右扳机键。鼠标左键仅在pc的普通控制模式(即非F11模式)下触发 |
|
||
| [MouseWheelClientEvent](控制.md#mousewheelclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 鼠标滚轮滚动时触发 |
|
||
| [OnBackButtonReleaseClientEvent](控制.md#onbackbuttonreleaseclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 返回按钮(目前特指安卓系统导航中的返回按钮)松开时触发 |
|
||
| [OnClientPlayerStartMove](控制.md#onclientplayerstartmove) | <span style="display:inline;color:#7575f9">客户端</span> | 移动按钮按下触发事件,在按住一个方向键的同时,去按另外一个方向键,不会触发第二次 |
|
||
| [OnClientPlayerStopMove](控制.md#onclientplayerstopmove) | <span style="display:inline;color:#7575f9">客户端</span> | 移动按钮按下释放时触发事件,同时按下多个方向键,需要释放所有的方向键才会触发事件 |
|
||
| [OnGamepadControllerLayoutChangeClientEvent](控制.md#ongamepadcontrollerlayoutchangeclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 游戏手柄按键映射改变事件 |
|
||
| [OnGamepadKeyPressClientEvent](控制.md#ongamepadkeypressclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 游戏手柄按键事件 |
|
||
| [OnGamepadStickClientEvent](控制.md#ongamepadstickclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 游戏手柄摇杆事件 |
|
||
| [OnGamepadTriggerClientEvent](控制.md#ongamepadtriggerclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 游戏手柄扳机事件 |
|
||
| [OnKeyPressInGame](控制.md#onkeypressingame) | <span style="display:inline;color:#7575f9">客户端</span> | 按键按下或按键释放时触发 |
|
||
| [OnKeyboardControllerLayoutChangeClientEvent](控制.md#onkeyboardcontrollerlayoutchangeclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 键盘按键映射改变事件 |
|
||
| [OnMouseMiddleDownClientEvent](控制.md#onmousemiddledownclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 鼠标按下中键时触发 |
|
||
| [RightClickBeforeClientEvent](控制.md#rightclickbeforeclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家按下使用物品/放置方块键时触发,例如鼠标右键、新触控交互键、手柄左扳机键 |
|
||
| [RightClickReleaseClientEvent](控制.md#rightclickreleaseclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家松开使用物品/放置方块键时触发,例如鼠标右键、新触控交互键、手柄左扳机键 |
|
||
| [TapBeforeClientEvent](控制.md#tapbeforeclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击屏幕并松手,即将响应到游戏内时触发。仅在移动端或pc的F11模式下触发。pc的非F11模式可以监听[LeftClickBeforeClientEvent](#leftclickbeforeclientevent)事件 |
|
||
| [TapOrHoldReleaseClientEvent](控制.md#taporholdreleaseclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 玩家点击屏幕后松手时触发。仅在移动端或pc的F11模式下触发。pc的非F11模式可以使用[LeftClickReleaseClientEvent](#leftclickreleaseclientevent)与[RightClickReleaseClientEvent](#rightclickreleaseclientevent)事件监听鼠标松开 |
|
||
# 控制
|
||
|
||
## ClientJumpButtonPressDownEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
跳跃按钮按下事件,返回值设置参数只对当次按下事件起作用
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| continueJump | bool | 设置是否执行跳跃逻辑 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## ClientJumpButtonReleaseEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
跳跃按钮按下释放事件
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## GetEntityByCoordEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
玩家点击屏幕时触发,多个手指点在屏幕上时,只有第一个会触发。
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## GetEntityByCoordReleaseClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
玩家点击屏幕后松开时触发,多个手指点在屏幕上时,只有最后一个手指松开时触发。
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## GyroSensorChangedClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
触发时机:陀螺仪传感器姿态发生变化时
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| xDiff | float | x轴角速度,单位为弧度/s |
|
||
| yDiff | float | y轴角速度,单位为弧度/s |
|
||
| zDiff | float | z轴角速度,单位为弧度/s |
|
||
| orientation | int | 当前屏幕朝向,0竖屏正向 1横屏向左 2竖屏倒置 3横屏向右 |
|
||
| timestamp | float | 触发时间戳,秒 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 该事件只适用于移动端
|
||
|
||
|
||
|
||
## HoldBeforeClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
玩家长按屏幕,即将响应到游戏内时触发。仅在移动端或pc的F11模式下触发。pc的非F11模式可以监听[RightClickBeforeClientEvent](#rightclickbeforeclientevent)事件
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| cancel | bool | 设置为True可拦截原版的挖方块/使用物品/与实体交互响应 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 玩家长按屏幕的处理顺序为:
|
||
1. 玩家点击屏幕,在长按判定时间内(默认为400毫秒,可通过SetHoldTimeThreshold接口修改)一直没有进行拖动或松手
|
||
2. 触发该事件
|
||
3. 若事件没有cancel,则根据主手上的物品,准心处的物体类型以及与玩家的距离,进行挖方块/使用物品/与实体交互等操作
|
||
即该事件只会在到达长按判定时间的瞬间触发一次,后面一直按住不会连续触发,可以使用[TapOrHoldReleaseClientEvent](#taporholdreleaseclientevent)监听长按后松手
|
||
- 与[TapBeforeClientEvent](#tapbeforeclientevent)事件类似,被ui层捕获,没有穿透到世界的点击不会触发该事件
|
||
- 点触流程的图片讲解见[TapOrHoldReleaseClientEvent](#taporholdreleaseclientevent)事件的备注
|
||
|
||
|
||
|
||
## LeftClickBeforeClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
玩家按下攻击/摧毁键时触发,例如鼠标左键、新触控攻击键、手柄右扳机键。鼠标左键仅在pc的普通控制模式(即非F11模式)下触发
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| cancel | bool | 设置为True可拦截原版的挖方块或攻击响应 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 按键控制流程的图片讲解见[TapOrHoldReleaseClientEvent](#taporholdreleaseclientevent)事件的备注
|
||
|
||
|
||
|
||
## LeftClickReleaseClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
玩家松开攻击/摧毁键时触发,例如鼠标左键、新触控攻击键、手柄右扳机键。鼠标左键仅在pc的普通控制模式(即非F11模式)下触发
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 按键控制流程的图片讲解见[TapOrHoldReleaseClientEvent](#taporholdreleaseclientevent)事件的备注
|
||
|
||
|
||
|
||
## MouseWheelClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
鼠标滚轮滚动时触发
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| direction | int | 1为向上滚动,0为向下滚动 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## OnBackButtonReleaseClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
返回按钮(目前特指安卓系统导航中的返回按钮)松开时触发
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 目前仅安卓平台可用
|
||
|
||
|
||
|
||
## OnClientPlayerStartMove
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
移动按钮按下触发事件,在按住一个方向键的同时,去按另外一个方向键,不会触发第二次
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## OnClientPlayerStopMove
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
移动按钮按下释放时触发事件,同时按下多个方向键,需要释放所有的方向键才会触发事件
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## OnGamepadControllerLayoutChangeClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
游戏手柄按键映射改变事件
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| action | str | 行为 |
|
||
| newKey | int | 修改后的键码,详见[GamepadKeyType枚举](../枚举值/GamepadKeyType.md) |
|
||
| oldKey | int | 修改前的键码,详见[GamepadKeyType枚举](../枚举值/GamepadKeyType.md) |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## OnGamepadKeyPressClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
游戏手柄按键事件
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| screenName | str | 当前screenName |
|
||
| key | int | 键码,详见[GamepadKeyType枚举](../枚举值/GamepadKeyType.md) |
|
||
| isDown | str | 是否按下,按下为1,弹起为0 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## OnGamepadStickClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
游戏手柄摇杆事件
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| key | int | 键码,详见[GamepadKeyType枚举](../枚举值/GamepadKeyType.md) |
|
||
| x | float | 摇杆水平方向的值,从左到右取值为 -1.0 ~ 1.0 |
|
||
| y | float | 摇杆竖直方向的值,从下到上取值为 -1.0 ~ 1.0 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 触发时机:当摇杆摇动位置发生改变时
|
||
|
||
|
||
|
||
## OnGamepadTriggerClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
游戏手柄扳机事件
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| key | int | 键码,详见[GamepadKeyType枚举](../枚举值/GamepadKeyType.md) |
|
||
| magnitude | float | 扣动扳机的力度,取值为 0 ~ 1.0 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 触发时机:当扣动扳机的力度发生改变时
|
||
|
||
|
||
|
||
## OnKeyPressInGame
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
按键按下或按键释放时触发
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| screenName | str | 当前screenName |
|
||
| key | str | 键码(注:这里的int型被转成了str型,比如"1"对应的就是枚举值文档中的1),详见[KeyBoardType枚举](../枚举值/KeyBoardType.md)| |
|
||
| isDown | str | 是否按下,按下为1,弹起为0 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## OnKeyboardControllerLayoutChangeClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
键盘按键映射改变事件
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| action | str | 行为 |
|
||
| newKey | int | 修改后的键码,详见[KeyBoardType枚举](../枚举值/KeyBoardType.md) |
|
||
| oldKey | int | 修改前的键码,详见[KeyBoardType枚举](../枚举值/KeyBoardType.md) |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
|
||
|
||
## OnMouseMiddleDownClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
鼠标按下中键时触发
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| isDown | int | 1为按下,0为弹起 |
|
||
| mousePositionX | float | 按下时的x坐标 |
|
||
| mousePositionY | float | 按下时的y坐标 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 仅通过PushScreen创建的界面能够正常返回坐标,开启F11模式的时候,返回最后点击屏幕时的坐标
|
||
|
||
|
||
|
||
## RightClickBeforeClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
玩家按下使用物品/放置方块键时触发,例如鼠标右键、新触控交互键、手柄左扳机键
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| cancel | bool | 设置为True可拦截原版的物品使用/实体交互响应 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 按键控制流程的图片讲解见[TapOrHoldReleaseClientEvent](#taporholdreleaseclientevent)事件的备注
|
||
|
||
|
||
|
||
## RightClickReleaseClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
玩家松开使用物品/放置方块键时触发,例如鼠标右键、新触控交互键、手柄左扳机键
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 按键控制流程的图片讲解见[TapOrHoldReleaseClientEvent](#taporholdreleaseclientevent)事件的备注
|
||
|
||
|
||
|
||
## TapBeforeClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
玩家点击屏幕并松手,即将响应到游戏内时触发。仅在移动端或pc的F11模式下触发。pc的非F11模式可以监听[LeftClickBeforeClientEvent](#leftclickbeforeclientevent)事件
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| cancel | bool | 设置为True可拦截原版的攻击或放置响应 |
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 玩家点击屏幕的处理顺序为:
|
||
1. 玩家点击屏幕,没有进行拖动,并在短按判定时间(250毫秒)内松手
|
||
2. 触发该事件
|
||
3. 若事件没有cancel,则根据准心处的物体类型以及与玩家的距离,进行攻击或放置等操作
|
||
- 与GetEntityByCoordEvent事件不同的是,被ui层捕获,没有穿透到世界的点击不会触发该事件,例如:
|
||
1. 点击原版的移动/跳跃等按钮
|
||
2. 通过SetIsHud(0)屏蔽了游戏操作
|
||
3. 对按钮使用AddTouchEventHandler接口时isSwallow参数设置为True
|
||
- 点触流程的图片讲解见[TapOrHoldReleaseClientEvent](#taporholdreleaseclientevent)事件的备注
|
||
|
||
|
||
|
||
## TapOrHoldReleaseClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
玩家点击屏幕后松手时触发。仅在移动端或pc的F11模式下触发。pc的非F11模式可以使用[LeftClickReleaseClientEvent](#leftclickreleaseclientevent)与[RightClickReleaseClientEvent](#rightclickreleaseclientevent)事件监听鼠标松开
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
无
|
||
|
||
- 备注
|
||
- 短按及长按后松手都会触发该事件
|
||
- 一张图读懂点触和按键事件触发流程
|
||

|
||
|
||
|
||
|