mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Added smooth acceleration
Former-commit-id: 4dfc695e5d1485b77ef98b1f5895d3eee69c46e1
This commit is contained in:
parent
9928ad6e52
commit
2ea1de2659
@ -149,17 +149,15 @@ impl Client {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Step 1
|
// Step 1
|
||||||
if
|
if let (Some(_), Some(vel), Some(_)) = (
|
||||||
self.state.read_storage::<comp::phys::Pos>().get(self.player).is_some() &&
|
self.state.read_component_cloned::<comp::phys::Pos>(self.player),
|
||||||
self.state.read_storage::<comp::phys::Vel>().get(self.player).is_some() &&
|
self.state.read_component_cloned::<comp::phys::Vel>(self.player),
|
||||||
self.state.read_storage::<comp::phys::Dir>().get(self.player).is_some()
|
self.state.read_component_cloned::<comp::phys::Dir>(self.player),
|
||||||
{
|
) {
|
||||||
// TODO: remove this
|
self.state.write_component(self.player, comp::phys::Vel(vel.0 + input.move_dir * 2.0 - vel.0.map(|e| e * e.abs() + e) * 0.03));
|
||||||
const PLAYER_VELOCITY: f32 = 100.0;
|
|
||||||
// TODO: Set acceleration instead
|
|
||||||
self.state.write_component(self.player, comp::phys::Vel(Vec3::from(input.move_dir * PLAYER_VELOCITY) * 0.1));
|
|
||||||
if input.move_dir.magnitude() > 0.01 {
|
if input.move_dir.magnitude() > 0.01 {
|
||||||
self.state.write_component(self.player, comp::phys::Dir(input.move_dir.normalized().into()));
|
self.state.write_component(self.player, comp::phys::Dir(vel.0.normalized() * Vec3::new(1.0, 1.0, 0.0)));
|
||||||
self.state.write_component(self.player, comp::Animation::Run);
|
self.state.write_component(self.player, comp::Animation::Run);
|
||||||
} else {
|
} else {
|
||||||
self.state.write_component(self.player, comp::Animation::Idle);
|
self.state.write_component(self.player, comp::Animation::Idle);
|
||||||
|
Loading…
Reference in New Issue
Block a user