Sprite

Struct Sprite 

Source
pub struct Sprite<'a, T: Into<f64> + Copy + AddAssign> {
    pub texture: &'a Image,
    pub coords: (T, T),
    pub origin: (T, T),
}
Expand description

Use a Sprite for an object on your game which can move.

§Example

use wasm_game_lib::graphics::image::Image;
use wasm_game_lib::graphics::sprite::Sprite;
 
// load a texture from the web
let ferris_texture = Image::load("https://rustacean.net/assets/cuddlyferris.svg").await.unwrap();
 
// create a sprite
let ferris = Sprite::<u32>::new((0,0), &ferris_texture, (0,0));
 
// draw the sprite on a canvas
canvas.draw(&ferris);

Fields§

§texture: &'a Image

The texture of the Sprite

§coords: (T, T)

Where the Sprite is located on the screen

§origin: (T, T)

The point on the texture which is considered as the center of the Sprite. The coordinates of this point must be relative to the top-left corner of the object.

Implementations§

Source§

impl<'a, T: Into<f64> + Copy + AddAssign> Sprite<'a, T>

Source

pub fn new(coords: (T, T), texture: &Image, origin: (T, T)) -> Sprite<'_, T>

Create a new Sprite.

§Example
use wasm_game_lib::graphics::image::Image;
use wasm_game_lib::graphics::sprite::Sprite;
// load a texture from the web
let ferris_texture = Image::load("https://rustacean.net/assets/cuddlyferris.svg").await.unwrap();
 
// create a sprite
let ferris = Sprite::<u32>::new((0,0), &ferris_texture, (0,0));
Source

pub fn set_origin(&mut self, origin: (T, T))

Set the origin. The origin is the point on the texture which is considered as the center of the Sprite. The coordinates of this point must be relative to the top-left corner of the object.

Source

pub fn get_origin(&self) -> (T, T)

Return the origin. The origin is the point on the texture which is considered as the center of the Sprite. The coordinates of this point must be relative to the top-left corner of the object.

Source

pub fn get_texture(&self) -> &Image

Return the texture.

Source

pub fn set_texture(&mut self, texture: &'a Image)

Set the texture

Source

pub fn set_x(&mut self, x: T)

Set the x coordinate.

Source

pub fn set_y(&mut self, y: T)

Set the y coordinate.

Source

pub fn set_coords(&mut self, coords: (T, T))

Set the coordinates.

Source

pub fn get_x(&mut self) -> T

Return the x coordinate.

Source

pub fn get_y(&mut self) -> T

Return the y coordinate.

Source

pub fn get_coords(&mut self) -> (T, T)

Return the coordinates.

Source

pub fn move_by(&mut self, movement: (T, T))

Add a value to the actual coordinates.

§Example
use wasm_game_lib::graphics::image::Image;
use wasm_game_lib::graphics::sprite::Sprite;
// move a sprite one pixel right and two pixels down.
sprite.move_by((1,2));

Trait Implementations§

Source§

impl<'a, T: Into<f64> + Copy + AddAssign> Drawable for Sprite<'a, T>

Source§

fn draw_on_canvas(&self, canvas: &mut Canvas)

This method is called by the draw method.

Auto Trait Implementations§

§

impl<'a, T> Freeze for Sprite<'a, T>
where T: Freeze,

§

impl<'a, T> RefUnwindSafe for Sprite<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> !Send for Sprite<'a, T>

§

impl<'a, T> !Sync for Sprite<'a, T>

§

impl<'a, T> Unpin for Sprite<'a, T>
where T: Unpin,

§

impl<'a, T> UnwindSafe for Sprite<'a, T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.