Compare commits

...

2 Commits

Author SHA1 Message Date
JP Stringham
b564b42ade tiny sail 2025-11-28 16:06:03 -05:00
JP Stringham
612b76a45c tiny sail 2025-11-28 16:05:52 -05:00
2 changed files with 27 additions and 11 deletions

BIN
assets/sail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 B

View File

@@ -1,4 +1,4 @@
use bevy::prelude::*; use bevy::{prelude::*, sprite_render::Wireframe2dPlugin};
const MAX_SAILING_SPEED: f32 = 0.9; const MAX_SAILING_SPEED: f32 = 0.9;
const MAX_TURN_SPEED: f32 = 0.1; const MAX_TURN_SPEED: f32 = 0.1;
@@ -21,7 +21,7 @@ struct InputState {
fn main() { fn main() {
let mut app = App::new(); let mut app = App::new();
app.add_plugins(DefaultPlugins) app.add_plugins((DefaultPlugins, Wireframe2dPlugin::default()))
.add_systems(Startup, (hello_world, camera_setup, sprite_setup).chain()) .add_systems(Startup, (hello_world, camera_setup, sprite_setup).chain())
.add_systems(Update, (handle_keys, player_physics).chain()); .add_systems(Update, (handle_keys, player_physics).chain());
@@ -39,16 +39,32 @@ fn camera_setup(mut clear_color: ResMut<ClearColor>, mut commands: Commands) {
} }
fn sprite_setup(assets: Res<AssetServer>, mut commands: Commands) { fn sprite_setup(assets: Res<AssetServer>, mut commands: Commands) {
let sprite_handle = assets.load("sprite-0001.png"); let ship_sprite = assets.load("sprite-0001.png");
let sail_sprite = assets.load("sail.png");
commands.spawn(( commands
Sprite { .spawn((
image: sprite_handle, Sprite {
..default() image: ship_sprite,
}, ..default()
EntityPhysics::default(), },
InputState::default(), EntityPhysics::default(),
)); InputState::default(),
))
.with_child((
Sprite {
image: sail_sprite,
..default()
},
Transform {
translation: Vec3 {
x: 8.0,
y: 1.0,
z: 0.,
},
..default()
},
));
} }
fn handle_keys(mut q_player: Query<&mut InputState>, keys: Res<ButtonInput<KeyCode>>) { fn handle_keys(mut q_player: Query<&mut InputState>, keys: Res<ButtonInput<KeyCode>>) {