Fuck dat dawg istg -3hrs thinking it wouldn't be that impactful

This commit is contained in:
2024-11-05 13:11:39 +02:00
parent 6ffb0bdb1e
commit 25cbdace69
1076 changed files with 59 additions and 19 deletions

43
src/camera.rs Normal file
View File

@@ -0,0 +1,43 @@
use bevy::prelude::*;
use crate::player::Player;
pub struct CameraPlugin;
impl Plugin for CameraPlugin {
fn build(&self, app: &mut App) {
app.add_systems(
Startup,
(spawn_camera, move_camera)
);
}
}
fn spawn_camera(mut commands: Commands) {
let mut camera = Camera2dBundle::default();
camera.projection.scale = 0.5;
camera.transform.translation.x += 1280.0 / 4.0;
camera.transform.translation.y += 720.0 / 4.0;
commands.spawn(camera);
}
fn move_camera(
mut camera: Query<&mut Transform, (With<Camera2d>, Without<Player>)>,
player: Query<&Transform, (With<Player>, Without<Camera2d>)>,
time: Res<Time>,
) {
let Ok(mut camera) = camera.get_single_mut() else {
return;
};
let Ok(player) = player.get_single() else {
return;
};
let Vec3 { x, y, .. } = player.translation;
let direction = Vec3::new(x, y, camera.translation.z);
camera.translation = camera
.translation
.lerp(direction, time.delta_seconds() * 2.);
}