bi_tux

joined 1 year ago
[–] bi_tux@lemmy.world 3 points 4 hours ago

once when there wasn't any toiletpaper at work I rolled this roll up, then split it and had 2 pieces of toilet paper

[–] bi_tux@lemmy.world 6 points 2 days ago (4 children)

I get it, but what is the rope for?

[–] bi_tux@lemmy.world 1 points 2 days ago (1 children)

I mean c'mon, every pc that can compile rust in a reasonable time has at least 20gb of storage

[–] bi_tux@lemmy.world 1 points 3 days ago (1 children)

I 3d printed one for a few cents

[–] bi_tux@lemmy.world 0 points 3 days ago (3 children)

that's because Rust is more modern and in modern days we don't rly have hard disk limitation, also it's probably because the compiler tells you the solution to most problems

[–] bi_tux@lemmy.world 19 points 4 days ago (2 children)

I've literally been banned on the most auth-left lemmy instance for saying I don't want trump to win

[–] bi_tux@lemmy.world 1 points 5 days ago

My all time favourite is god bless america, it's kind of relatable

[–] bi_tux@lemmy.world 5 points 6 days ago

if I can afford it, yeah

[–] bi_tux@lemmy.world 1 points 6 days ago* (last edited 6 days ago) (1 children)

I burn them mostly myself, but I got every star trek show on dvd

[–] bi_tux@lemmy.world 2 points 6 days ago (3 children)

I use dvds on my T60 (;

[–] bi_tux@lemmy.world 1 points 6 days ago

also gen z here, I also got a gameboy

[–] bi_tux@lemmy.world 1 points 6 days ago

maybe they don't read articles, but news gets out way faster than it used to (including fake news). the avrg 12 yo probably didn't read it, but saw it on instagram or something

286
submitted 1 week ago* (last edited 1 week ago) by bi_tux@lemmy.world to c/programmerhumor@lemmy.ml
 

This happend to me right noww as I tried to write a gui task manager for the GNU/Linux OS

 

also he thought that the CCP wasn't even suppressing free speech, guess who just got banned from a certain tankie cercle jerk instance

 

ofc I imediatly upgraded it from winxp to gnu/linux

 

I hope memes are okay here

 

So I thought about this in the shower amd it makes sense to me, like praying and stuff never worked for most people I know, so a direkt link to god gotta be unlikely. That made me conclude that religion is probably fake, no matter if there's a god or not. Also people speaking to the same god being given a different set of rules sounds stupid, so at least most religions must be fake.

 

Why do some cars have their engines in the front and some in the back, what are the advantages and disadvantages of the two builds. And why doesn't every car have full wheel drive?

218
doggo (lemmy.world)
 
7
submitted 5 months ago* (last edited 5 months ago) by bi_tux@lemmy.world to c/rust@lemmy.ml
 

So I want to update the sprite so my character looks in a different direction each time the player presses left/right, how could I do this? I can't do it in the setup fn, since it's a startup system, appreciate any help

EDIT: changed formating

here is my code:

use bevy::prelude::*;

`fn main() {
    App::new()
        .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest())) // prevents blurry sprites
        .add_systems(Startup, setup)
        .add_systems(Update, animate_sprite)
        .add_systems(Update, player_movement_system)
        .run();
}

const BOUNDS: Vec2 = Vec2::new(1200.0, 640.0);
static mut FLIP_BOOLEAN: bool = false;

fn set_flip_boolean(boolean: bool) {
    unsafe {
        FLIP_BOOLEAN = boolean;
    }
}

fn get_flip_boolean() -> bool{
    unsafe {
        FLIP_BOOLEAN
    }
}

#[derive(Component)]
struct Player {
    movement_speed: f32,
}

#[derive(Component)]
struct AnimationIndices {
    first: usize,
    last: usize,
}

#[derive(Component, Deref, DerefMut)]
struct AnimationTimer(Timer);

fn animate_sprite(
    time: Res<Time>,
    mut query: Query<(&AnimationIndices, &mut AnimationTimer, &mut TextureAtlas)>,
) {
    for (indices, mut timer, mut atlas) in &mut query {
        timer.tick(time.delta());
        if timer.just_finished() {
            atlas.index = if atlas.index == indices.last {
                indices.first
            } else {
                atlas.index + 1
            };
        }
    }
}


fn setup(
    mut commands: Commands,
    asset_server: Res<AssetServer>,
    mut texture_atlas_layouts: ResMut<Assets<TextureAtlasLayout>>,
) {
    let texture = asset_server.load("sprites/Idle01.png");
    let layout = TextureAtlasLayout::from_grid(Vec2::new(64.0, 40.0), 5, 1, None, None);
    let texture_atlas_layout = texture_atlas_layouts.add(layout);
    let animation_indices = AnimationIndices { first: 0, last: 4 };
    let boolean = get_flip_boolean();
    commands.spawn(Camera2dBundle::default());
    commands.spawn((
        SpriteSheetBundle {
            texture,
            atlas: TextureAtlas {
                layout: texture_atlas_layout,
                index: animation_indices.first,
            },
            
            ..default()
        },
        Player {
            movement_speed: 500.0,
        },
        animation_indices,
        AnimationTimer(Timer::from_seconds(0.1, TimerMode::Repeating)),
    ));
}

fn player_movement_system(
    time: Res<Time>,
    keyboard_input: Res<ButtonInput<KeyCode>>,
    mut query: Query<(&Player, &mut Transform)>,
) {
    let (guy, mut transform) = query.single_mut();

    let mut movement_factor = 0.0;

    let mut movement_direction = Vec3::X;

    if keyboard_input.pressed(KeyCode::ArrowLeft) {
        movement_factor -= 1.0;
        movement_direction = Vec3::X;
        set_flip_boolean(true);
    }

    if keyboard_input.pressed(KeyCode::ArrowRight) {
        movement_factor += 1.0;
        movement_direction = Vec3::X;
        set_flip_boolean(false);
    }

    if keyboard_input.pressed(KeyCode::ArrowUp) {
        movement_factor += 1.0;
        movement_direction = Vec3::Y;
    }

    if keyboard_input.pressed(KeyCode::ArrowDown) {
        movement_factor -= 1.0;
        movement_direction = Vec3::Y;
    }


    let movement_distance = movement_factor * guy.movement_speed * time.delta_seconds();
    let translation_delta = movement_direction * movement_distance;
    transform.translation += translation_delta;

    let extents = Vec3::from((BOUNDS / 2.0, 0.0));
    transform.translation = transform.translation.min(extents).max(-extents);
}
 

I hope this isn't out of context, also I don't want to "own the libs" or something here, I'm actually interested.

 

I don't know where else to post this, so here you go:

  • How reliable is the yazio kcal counter
  • Does it use anything
  • Are there FOSS alternatives

the reason I'm asking is because I weighted everything I ate and put it into the app, according to the app I should have eaten 1600kcal, but I feel lile I ate 3000kcal

EDIT: I mean the kcal I ate all day, I didn't eat that much at once obviosly

would appreciate help and advise

 

tbh I did a horrible paint job, but she still liked it

EDIT: the parts are 3d printed (not my model tho)

view more: next ›