4个版本 (破坏性更新)
0.4.0 | 2024年2月25日 |
---|---|
0.3.0 | 2023年7月22日 |
0.2.0 | 2023年3月8日 |
0.1.0 | 2022年12月22日 |
#739 in 游戏开发
9KB
167 行
Bevy Web Utils
在Web上使用Bevy的辅助工具
绑定
此crate包含对一些JS片段的wasm_bindgen绑定,这些片段有助于执行各种Web任务,可以通过micro_bevy_web_utils::bindings
模块访问
orientation_lock(orientation: String);
:锁定屏幕到指定的方向。接受在屏幕方向API中定义的值。在不支持锁定方向的Web平台上为Nooporientation_unlock();
:解锁屏幕方向。当方向未锁定或在不支持锁定方向的Web平台上时为Noopmake_selector_fullscreen(selector: String);
:接收一个查询选择器,并请求第一个匹配元素的全屏模式。如果查询选择器不匹配任何元素,则为Noop。调用make_selector_fullscreen("canvas")
是常见用法toggle_selector_fullscreen(selector: String) -> bool;
:接收一个查询选择器,如果窗口不在全屏,则请求全屏模式;如果窗口已全屏,则关闭全屏模式exit_fullscreen();
:关闭全屏模式bind_selector_touch_events(selector: String);
: 将触摸事件绑定到元素上。这通常与micro_bevy_web_utils::bevy::emit_touch_events
系统结合使用,在触摸设备上发送触摸事件teardown_selector_touch_events(selector: String);
: 删除指定元素的触摸事件绑定take_touch_events() -> String;
: 清除触摸事件缓冲区,并返回一个序列化的 JSON 数组,包含自上次调用take_touch_events
以来记录的所有事件is_fullscreen() -> bool;
: 返回一个元素是否启用了全屏模式is_touch_device() -> bool;
: 返回设备是否支持触摸输入
Bevy 系统
在成功调用 bind_selector_touch_events
至少一次之后,才会拦截触摸事件
要分发此库记录的触摸事件,您可以添加 micro_bevy_web_utils::bevy::emit_touch_events
系统。然后,您将在使用 Touches
或 EventReader<TouchInput>
资源的任何其他系统中接收截获的触摸事件。
或者,您可以使用 take_touch_events
绑定手动获取所有记录的触摸事件。它们 必须 在获取后进行处理和/或分发,否则将丢失 - 没有双缓冲或类似机制
依赖关系
~17MB
~340K SLoC