[][src]Struct wasm_game_lib::graphics::sprite::Sprite

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

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

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

pub fn new(coords: (T, T), texture: &Image, origin: (T, T)) -> Sprite<T>[src]

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));

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

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.

pub fn get_origin(&self) -> (T, T)[src]

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.

pub fn get_texture(&self) -> &Image[src]

Return the texture.

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

Set the texture

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

Set the x coordinate.

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

Set the y coordinate.

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

Set the coordinates.

pub fn get_x(&mut self) -> T[src]

Return the x coordinate.

pub fn get_y(&mut self) -> T[src]

Return the y coordinate.

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

Return the coordinates.

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

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

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

Auto Trait Implementations

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.