This commit is contained in:
2026-09-17 20:41:44 +02:00
parent 8b07880e46
commit f22547b079
2 changed files with 45 additions and 6 deletions
+2
View File
@@ -6,6 +6,7 @@ use crate::camera::CameraPlugin;
use crate::collision::CollisionPlugin;
use crate::obstacle::ObstaclePlugin;
use crate::player::PlayerPlugin;
use crate::score::ScorePlugin;
mod background;
mod bounds;
@@ -32,5 +33,6 @@ fn main() {
.add_plugins(CollisionPlugin) // Collisions
.add_plugins(ObstaclePlugin) // Obstacles
.add_plugins(BoundsPlugin) // Bound player
.add_plugins(ScorePlugin) // Score
.run();
}
+43 -6
View File
@@ -1,18 +1,55 @@
use bevy::prelude::*;
use crate::player::{Player, START_POSITION};
use crate::player::{Player, START_POSITION, move_player};
#[derive(Resource)]
#[derive(Resource, Default)]
pub struct Depth(pub f32);
// Update depth of the player
fn update_depth(mut depth: ResMut<Depth>, player: Single<&Transform, With<Player>>) {
depth.0 = START_POSITION.y - player.translation.y;
}
fn spawn_depth_text() {
todo!()
#[derive(Component)]
pub struct DepthText;
// Display the initial text of the depth (Score)
fn spawn_depth_text(mut commands: Commands) {
commands.spawn((
Text::new("0"),
TextFont {
font_size: FontSize::Px(50.0),
..default()
},
TextColor(Color::WHITE),
Node {
position_type: PositionType::Absolute,
top: Val::Px(20.0),
left: Val::Px(20.0),
..default()
},
DepthText,
));
}
fn update_depth_text() {
todo!()
// Update depth score text
fn update_depth_text(
mut commands: Commands,
depth: Res<Depth>,
mut texts: Query<&mut Text, With<DepthText>>,
) {
for mut text in texts {
text.0 = format!("Score: {}", depth.0);
}
}
pub struct ScorePlugin;
impl Plugin for ScorePlugin {
fn build(&self, app: &mut App) {
app.add_systems(Startup, spawn_depth_text)
.init_resource::<Depth>()
.add_systems(Update, update_depth.after(move_player))
.add_systems(Update, update_depth_text);
}
}