update the dependencies + new examples

`nikolaus` is AI generated an just wrong.

`interrupted_lines` does not work as expected
This commit is contained in:
Franz Dietrich 2023-01-25 12:00:09 +01:00
parent 85f32250b1
commit d0e47b5b85
5 changed files with 106 additions and 8 deletions

View File

@ -0,0 +1,27 @@
use bevy::prelude::*;
use turtle_lib::builders::{DirectionalMovement, StopLine, Turnable};
use turtle_lib::{get_a_turtle, TurtlePlugin};
use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin};
#[derive(Component, Reflect)]
struct Egon {}
fn main() {
App::new()
.add_plugin(TurtlePlugin)
.add_startup_system(setup)
//.add_system(plan)
.add_plugin(LogDiagnosticsPlugin::default())
.add_plugin(FrameTimeDiagnosticsPlugin::default())
.run();
}
fn setup(mut commands: Commands) {
let mut turtle = get_a_turtle();
turtle.set_speed(1);
let mt = turtle.pen_up();
//commands.spawn((turtle, Egon {}));
}

View File

@ -1,12 +1,11 @@
use bevy::prelude::*; use bevy::prelude::*;
use bevy_inspector_egui::Inspectable;
use turtle_lib::builders::{DirectionalMovement, Turnable}; use turtle_lib::builders::{DirectionalMovement, Turnable};
use turtle_lib::turtle_bundle::AnimatedTurtle; use turtle_lib::turtle_bundle::AnimatedTurtle;
use turtle_lib::{get_a_turtle, TurtlePlugin}; use turtle_lib::{get_a_turtle, TurtlePlugin};
use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin}; use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin};
#[derive(Component, Inspectable)] #[derive(Component, Reflect)]
struct Egon {} struct Egon {}
fn main() { fn main() {

73
examples/nikolaus.rs Normal file
View File

@ -0,0 +1,73 @@
use bevy::prelude::*;
use turtle_lib::builders::{DirectionalMovement, Turnable};
use turtle_lib::turtle_bundle::AnimatedTurtle;
use turtle_lib::{get_a_turtle, TurtlePlugin};
use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin};
#[derive(Component, Reflect)]
struct Egon {}
fn main() {
App::new()
.add_plugin(TurtlePlugin)
.add_startup_system(setup)
//.add_system(plan)
.add_plugin(LogDiagnosticsPlugin::default())
.add_plugin(FrameTimeDiagnosticsPlugin::default())
.run();
}
fn setup(mut commands: Commands) {
let mut turtle = get_a_turtle();
turtle.set_speed(500);
stern(&mut turtle);
commands.spawn((turtle, Egon {}));
}
fn stern(turtle: &mut AnimatedTurtle) {
// Draw the roof of the house
turtle.left(45);
turtle.forward(70);
turtle.right(90);
turtle.forward(70);
turtle.left(45);
// Draw the sides of the house
turtle.left(90);
turtle.forward(100);
turtle.left(90);
turtle.forward(50);
turtle.left(90);
turtle.forward(100);
turtle.left(90);
turtle.forward(50);
// Draw the door of the house
turtle.left(90);
turtle.forward(25);
turtle.right(90);
turtle.forward(20);
turtle.right(90);
turtle.forward(25);
turtle.left(90);
turtle.forward(50);
// Draw the chimney of the house
turtle.left(90);
turtle.forward(25);
turtle.right(90);
turtle.forward(10);
turtle.right(90);
turtle.forward(25);
turtle.left(90);
turtle.forward(10);
turtle.left(90);
turtle.forward(10);
turtle.right(90);
turtle.forward(25);
turtle.left(90);
turtle.forward(10);
turtle.left(90);
turtle.forward(10);
}

View File

@ -1,12 +1,11 @@
use bevy::prelude::*; use bevy::prelude::*;
use bevy_inspector_egui::Inspectable;
use turtle_lib::builders::{CurvedMovement, DirectionalMovement}; use turtle_lib::builders::{CurvedMovement, DirectionalMovement};
use turtle_lib::turtle_bundle::AnimatedTurtle; use turtle_lib::turtle_bundle::AnimatedTurtle;
use turtle_lib::{get_a_turtle, TurtlePlugin}; use turtle_lib::{get_a_turtle, TurtlePlugin};
use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin}; use bevy::diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin};
#[derive(Component, Inspectable)] #[derive(Component, Reflect)]
struct Egon {} struct Egon {}
fn main() { fn main() {
@ -23,6 +22,7 @@ fn setup(mut commands: Commands) {
let mut turtle = get_a_turtle(); let mut turtle = get_a_turtle();
turtle.set_speed(500); turtle.set_speed(500);
stern(&mut turtle); stern(&mut turtle);
commands.spawn((turtle, Egon {})); commands.spawn((turtle, Egon {}));
} }

View File

@ -1,6 +1,6 @@
use bevy::prelude::*; use bevy::prelude::*;
use bevy_inspector_egui::{Inspectable, InspectorPlugin};
use bevy_inspector_egui::prelude::*;
use bevy_tweening::{lens::*, *}; use bevy_tweening::{lens::*, *};
fn main() { fn main() {
@ -17,15 +17,14 @@ fn main() {
})) }))
.add_system(bevy::window::close_on_esc) .add_system(bevy::window::close_on_esc)
.add_plugin(TweeningPlugin) .add_plugin(TweeningPlugin)
.add_plugin(InspectorPlugin::<Options>::new())
.add_startup_system(setup) .add_startup_system(setup)
.add_system(update_animation_speed) .add_system(update_animation_speed)
.register_type::<Options>()
.run(); .run();
} }
#[derive(Copy, Clone, PartialEq, Inspectable, Resource)] #[derive(Copy, Clone, PartialEq, Reflect, Resource)]
struct Options { struct Options {
#[inspectable(min = 0.01, max = 100.)]
speed: f32, speed: f32,
} }