axyiee / ezinput Goto Github PK
View Code? Open in Web Editor NEWEasier joystick, mouse and keyboard input handling in Bevy
License: MIT License
Easier joystick, mouse and keyboard input handling in Bevy
License: MIT License
When I try to run in in WASM, the game freezes when I hit a key and I get this in the console:
panicked at 'time not implemented on this platform', library/std/src/sys/wasm/../unsupported/time.rs:13:9
Stack:
init/imports.wbg.__wbg_new_693216e109162396@http://127.0.0.1:1334/api/wasm.js:402:11
console_error_panic_hook::hook::hd43dab39c1b4d728@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[5232]:0x7382b4
core::ops::function::Fn::call::hbcafa04924ac8fe3@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[30565]:0xa73366
std::panicking::rust_panic_with_hook::h47a0e203360b6c10@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[10643]:0x91727b
std::panicking::begin_panic::{{closure}}::h0a2ac8d8166919c8@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[21124]:0xa45a4c
std::sys_common::backtrace::__rust_end_short_backtrace::h3b68e15c55c8ecfa@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[23824]:0xa5b9fe
std::panicking::begin_panic::h11967a7fb7837f40@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[21303]:0xa479b4
std::sys::wasm::time::Instant::now::h98dff29c0747cfdf@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[26731]:0xa68e54
std::time::Instant::now::he732085a9da86d6b@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[30598]:0xa73471
ezinput::tick::tick_system::{{closure}}::h42bf63e436677384@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[17445]:0xa0b612
ezinput::tick::tick_system::update_time::h1f527bc26e94fa5d@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[22037]:0xa4f1d2
ezinput::tick::tick_system::hc79dab676af0f3c2@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[3500]:0x636d03
core::ops::function::FnMut::call_mut::had64b42826756baf@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[19870]:0xa35de3
core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut::he482dc8ace2d5404@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[19871]:0xa35e17
<Func as bevy_ecs::system::function_system::SystemParamFunction<(),Out,(F0,),()>>::run::call_inner::ha8f523b33f28f7cb@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[18051]:0xa18177
<Func as bevy_ecs::system::function_system::SystemParamFunction<(),Out,(F0,),()>>::run::hdac9d7adf3a961ed@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[16642]:0x9f7d3d
<bevy_ecs::system::function_system::FunctionSystem<In,Out,Param,Marker,F> as bevy_ecs::system::system::System>::run_unsafe::h1310d6b28a33e78c@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[20967]:0xa43d92
<core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h2ee523cac9d87440@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[2286]:0x53c40c
async_task::raw::RawTask<F,T,S>::run::he95d3c13f0abdc47@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[1486]:0x437f32
async_task::runnable::Runnable::run::h169f4888c01aafa4@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[26668]:0xa68a84
async_executor::LocalExecutor::try_tick::h7076019877a16c0d@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[9345]:0x8c7a27
bevy_tasks::single_threaded_task_pool::TaskPool::scope::h31d7e491347f511d@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[3277]:0x60e5fd
<bevy_ecs::schedule::executor_parallel::ParallelExecutor as bevy_ecs::schedule::executor::ParallelSystemExecutor>::run_systems::h022b464f80f9a2dc@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[1215]:0x3c83dd
<bevy_ecs::schedule::stage::SystemStage as bevy_ecs::schedule::stage::Stage>::run::h516f05dc5ca94e48@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[382]:0xfbfdb
<bevy_ecs::schedule::Schedule as bevy_ecs::schedule::stage::Stage>::run::h68d5a2c1d54d961e@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[5698]:0x772b26
bevy_app::app::App::update::he2df84884381384b@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[9160]:0x8bab1a
winit::platform_impl::platform::event_loop::EventLoop<T>::run::{{closure}}::he7bb15fbd04f283f@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[421]:0x176ed3
winit::platform_impl::platform::event_loop::runner::Shared<T>::handle_event::h57dac68780f61f30@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[2937]:0x5cd29c
winit::platform_impl::platform::event_loop::runner::Shared<T>::run_until_cleared::h57d424e418c6d456@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[2655]:0x592212
winit::platform_impl::platform::backend::timeout::AnimationFrameRequest::new::{{closure}}::hdda506bb48b4610c@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[18655]:0xa22f48
<dyn core::ops::function::FnMut<()>+Output = R as wasm_bindgen::closure::WasmClosure>::describe::invoke::he00844d1a1abf775@http://127.0.0.1:1334/api/wasm.wasm:wasm-function[22486]:0xa52949
__wbg_adapter_51@http://127.0.0.1:1334/api/wasm.js:243:6
real@http://127.0.0.1:1334/api/wasm.js:200:32
wasm.js:414:9
How to reproduce:
examples/singleplayer.rs
check_input
with thisuse EnumeratedBinding::*;
use EnumeratedMovementBinding::*;
if let Some(vertical) = query.single().axis(&Movement(Vertical)).first() {
if vertical.press.just_pressed() {
println!("just pressed");
}
}
Issues:
I believe that 1. is caused by using a fixed value of 75ms in src/press_state.rs
instead of something like deltaTime
// just_pressed
if let Some(instant) = started_pressing_instant {
instant.elapsed().as_millis() <= 75
} else {
true
}
but I don't know what would cause 2. (the auto-repeat issue)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.