From da1cbadfeac6b7129369c00482ab134ea8e4658b Mon Sep 17 00:00:00 2001 From: Hilmar Wiegand Date: Sun, 23 Jun 2019 14:26:36 +0200 Subject: [PATCH] Add sprites --- resources/sprites/logo.png | Bin 0 -> 43242 bytes resources/sprites/logo.ron | 24 +++++++++++++++++++ src/main.rs | 47 +++++++++++++++++++++++++++---------- 3 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 resources/sprites/logo.png create mode 100644 resources/sprites/logo.ron diff --git a/resources/sprites/logo.png b/resources/sprites/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..159d8cb1c9885d4fa78aa16f5c9ebacef1a6289f GIT binary patch literal 43242 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 M?x-u~$eRWKAN1(tBLDyZ literal 0 HcmV?d00001 diff --git a/resources/sprites/logo.ron b/resources/sprites/logo.ron new file mode 100644 index 0000000..c8bd048 --- /dev/null +++ b/resources/sprites/logo.ron @@ -0,0 +1,24 @@ +( + texture_width: 690, + texture_height: 230, + sprites: [ + ( + x: 0, + y: 0, + width: 230, + height: 230, + ), + ( + x: 230, + y: 0, + width: 230, + height: 230, + ), + ( + x: 460, + y: 0, + width: 230, + height: 230, + ) + ] +) \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 093a760..7b9682b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,5 @@ use amethyst::{ - assets::{AssetStorage, Handle, Loader, Processor}, + assets::{AssetStorage, Loader, Processor}, core::transform::{Transform, TransformBundle}, ecs::prelude::{ReadExpect, Resources, SystemData}, prelude::*, @@ -14,13 +14,16 @@ use amethyst::{ hal::{format::Format, image}, }, types::DefaultBackend, - Camera, GraphCreator, ImageFormat, RenderingSystem, SpriteSheet, SpriteSheetFormat, - Texture, + Camera, GraphCreator, ImageFormat, RenderingSystem, SpriteRender, SpriteSheet, + SpriteSheetFormat, Texture, }, utils::application_root_dir, window::{ScreenDimensions, Window, WindowBundle}, }; +static WIDTH: u32 = 800; +static HEIGHT: u32 = 600; + struct MyState; impl SimpleState for MyState { @@ -29,8 +32,8 @@ impl SimpleState for MyState { init_camera(world); - // TODO(happens): Add entity for this - let _spritesheet = load_sprites(world); + let sprites = load_sprites(world); + init_sprites(world, &sprites); } } @@ -45,7 +48,6 @@ fn main() -> amethyst::Result<()> { let render_graph = RenderGraph::default(); let render_system = RenderingSystem::::new(render_graph); - // TODO(happens): Add UI example let game_data = GameDataBuilder::default() .with_bundle(WindowBundle::from_config_path(display_config))? .with_bundle(TransformBundle::new())? @@ -64,22 +66,21 @@ fn main() -> amethyst::Result<()> { fn init_camera(world: &mut World) { let mut transform = Transform::default(); - transform.set_translation_xyz(100., 100., 1.); + transform.set_translation_xyz(WIDTH as f32 * 0.5, HEIGHT as f32 * 0.5, 1.); world .create_entity() - .with(Camera::standard_2d(200., 200.)) + .with(Camera::standard_2d(WIDTH as f32, HEIGHT as f32)) .with(transform) .build(); } -fn load_sprites(world: &mut World) -> Handle { - // TODO(happens): Add sprite assets +fn load_sprites(world: &mut World) -> Vec { let texture_handle = { let loader = world.read_resource::(); let texture_storage = world.read_resource::>(); loader.load( - "sprites/ayaya.png", + "sprites/logo.png", ImageFormat::default(), (), &texture_storage, @@ -90,14 +91,34 @@ fn load_sprites(world: &mut World) -> Handle { let loader = world.read_resource::(); let sheet_storage = world.read_resource::>(); loader.load( - "sprites/ayaya.ron", + "sprites/logo.ron", SpriteSheetFormat(texture_handle), (), &sheet_storage, ) }; - sheet_handle + (0..3) + .map(|i| SpriteRender { + sprite_sheet: sheet_handle.clone(), + sprite_number: i, + }) + .collect() +} + +fn init_sprites(world: &mut World, sprites: &[SpriteRender]) { + for (i, sprite) in sprites.iter().enumerate() { + let x = (i as f32 - 1.) * 100. + WIDTH as f32 * 0.5; + let y = (i as f32 - 1.) * 100. + HEIGHT as f32 * 0.5; + let mut transform = Transform::default(); + transform.set_translation_xyz(x, y, 0.); + + world + .create_entity() + .with(sprite.clone()) + .with(transform) + .build(); + } } // TODO(happens): Can we provide this with a few parameters,