feat: Fix the bullet acceleration problem
This commit is contained in:
Generated
+9
-9
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718730147,
|
||||
"narHash": "sha256-QmD6B6FYpuoCqu6ZuPJH896ItNquDkn0ulQlOn4ykN8=",
|
||||
"lastModified": 1720025378,
|
||||
"narHash": "sha256-zlIdj0oLvMEHlllP/7tvY+kE987xsN4FPux6WHSOh00=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "32c21c29b034d0a93fdb2379d6fabc40fc3d0e6c",
|
||||
"rev": "087e08a41009bf083d51ab35d8e30b1b7eafa7b0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -40,11 +40,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1718823610,
|
||||
"narHash": "sha256-3abXGB+m4OMicaeB2IgGhnOvJTKYkcJ2o5wN9atjtt8=",
|
||||
"lastModified": 1720159656,
|
||||
"narHash": "sha256-QEou2V+wcV0JRbWTTEdBXVe+n+7n32r0w1oJyZbjp1A=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "34105c6b2f2c7e0b0914ded066dbbee043cff57c",
|
||||
"rev": "f15b44e5f29cd55ca5bbdf7e704ed8d9859e9a1d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -68,11 +68,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718763539,
|
||||
"narHash": "sha256-JHqQyO5XppLpMSKBaYlxbmPHMc4DpwuavKIch9W+hv4=",
|
||||
"lastModified": 1720145907,
|
||||
"narHash": "sha256-mNO3vfM43+w4Bp+zMC8Dkf4ktLpYYRpk9tAOp4iumio=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "69fcfaebbe564d162a85cadeaadd4dec646be4a2",
|
||||
"rev": "5ad2d5884b9b16319c9c5ca4e80a5b8606b083ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
use crate::{draw::Drawable, tick::Ticker};
|
||||
use macroquad::prelude::*;
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct Cursor {
|
||||
pos: Vec2,
|
||||
}
|
||||
|
||||
impl Cursor {
|
||||
pub fn handle_mouse(&mut self) {
|
||||
let mouse_pos = mouse_position();
|
||||
self.pos = vec2(mouse_pos.0, mouse_pos.1);
|
||||
}
|
||||
|
||||
pub fn draw(&self) {
|
||||
draw_triangle(
|
||||
self.pos,
|
||||
self.pos + vec2(10.0, 14.0),
|
||||
self.pos + vec2(-2.0, 16.0),
|
||||
RED,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
impl Drawable for Cursor {
|
||||
fn draw(&self) {
|
||||
self.draw();
|
||||
}
|
||||
}
|
||||
|
||||
impl Ticker for Cursor {
|
||||
fn tick(&mut self) {
|
||||
self.handle_mouse();
|
||||
}
|
||||
}
|
||||
+6
-24
@@ -4,6 +4,7 @@ use std::time::Duration;
|
||||
use draw::Drawable as _;
|
||||
use macroquad::prelude::*;
|
||||
use tick::{TickEvery, Ticker as _};
|
||||
mod cursor;
|
||||
mod draw;
|
||||
mod enemy;
|
||||
mod entity;
|
||||
@@ -27,37 +28,18 @@ fn window_conf() -> Conf {
|
||||
|
||||
#[macroquad::main(window_conf)]
|
||||
async fn main() {
|
||||
let mut cursor = Cursor::default();
|
||||
cursor.handle_mouse();
|
||||
let mut cursor = cursor::Cursor::default();
|
||||
let mut world = world::World::new();
|
||||
// .every(Duration::from_millis(200));
|
||||
|
||||
loop {
|
||||
cursor.tick();
|
||||
world.tick();
|
||||
|
||||
cursor.draw();
|
||||
world.draw();
|
||||
world.tick();
|
||||
world.next_frame();
|
||||
|
||||
next_frame().await
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct Cursor {
|
||||
pos: Vec2,
|
||||
}
|
||||
|
||||
impl Cursor {
|
||||
pub fn handle_mouse(&mut self) {
|
||||
let mouse_pos = mouse_position();
|
||||
self.pos = vec2(mouse_pos.0, mouse_pos.1);
|
||||
}
|
||||
|
||||
pub fn draw(&self) {
|
||||
draw_triangle(
|
||||
self.pos,
|
||||
self.pos + vec2(10.0, 14.0),
|
||||
self.pos + vec2(-2.0, 16.0),
|
||||
RED,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ impl Movement {
|
||||
self.pos += self.direction * speed;
|
||||
}
|
||||
MovementType::Acceleration(acceleration) => {
|
||||
self.direction += acceleration;
|
||||
self.direction *= acceleration;
|
||||
self.pos += self.direction;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
use macroquad::miniquad::window::screen_size;
|
||||
use macroquad::prelude::*;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user