pub struct Vector2<T: Clone> {
pub x: T,
pub y: T,
}
Expand description
Raw Vector2 type
Fields§
§x: T
§y: T
Implementations§
source§impl<T: Clone> Vector2<T>
impl<T: Clone> Vector2<T>
sourcepub const fn new(x: T, y: T) -> Self
pub const fn new(x: T, y: T) -> Self
Examples found in repository?
examples/multi-movement.rs (line 14)
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
const BLOCK_SIZE: Vec2D = Vec2D::new(4, 2);
const FILL_CHAR: ColChar = ColChar::SOLID;
fn main() {
let mut view = View::new(50, 12, ColChar::BACKGROUND);
let mut blocks = vec![
Rect::new(Vec2D::new(0, 0), BLOCK_SIZE, FILL_CHAR),
Rect::new(Vec2D::new(0, 2), BLOCK_SIZE, FILL_CHAR),
Rect::new(Vec2D::new(0, 4), BLOCK_SIZE, FILL_CHAR),
Rect::new(Vec2D::new(0, 6), BLOCK_SIZE, FILL_CHAR),
Rect::new(Vec2D::new(0, 8), BLOCK_SIZE, FILL_CHAR),
Rect::new(Vec2D::new(0, 10), BLOCK_SIZE, FILL_CHAR),
];
let mut i = 0;
fps_gameloop!(
{
i += 1;
for j in 0..blocks.len() {
if i % 2_u32.pow(j as u32) == 0 {
blocks[j].pos.x += 1;
}
}
},
{
view.clear();
for block in &blocks {
view.blit(block, Wrapping::Wrap);
}
view.display_render().unwrap();
if blocks.iter().all(|b| b.pos.x % view.width as isize == 0) {
thread::sleep(Duration::from_secs(2));
};
},
200.0
);
}
pub fn as_tuple(&self) -> (T, T)
Trait Implementations§
source§impl<T: Clone + AddAssign> AddAssign<Vector2<T>> for Vector2<T>
impl<T: Clone + AddAssign> AddAssign<Vector2<T>> for Vector2<T>
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl<T: Clone + DivAssign> DivAssign<T> for Vector2<T>
impl<T: Clone + DivAssign> DivAssign<T> for Vector2<T>
source§fn div_assign(&mut self, rhs: T)
fn div_assign(&mut self, rhs: T)
Performs the
/=
operation. Read moresource§impl<T: PartialEq + Clone> PartialEq<Vector2<T>> for Vector2<T>
impl<T: PartialEq + Clone> PartialEq<Vector2<T>> for Vector2<T>
source§impl RemAssign<Vector2<isize>> for Vec2D
impl RemAssign<Vector2<isize>> for Vec2D
source§fn rem_assign(&mut self, rhs: Self)
fn rem_assign(&mut self, rhs: Self)
Performs the
%=
operation. Read moresource§impl<T: Clone + SubAssign> SubAssign<Vector2<T>> for Vector2<T>
impl<T: Clone + SubAssign> SubAssign<Vector2<T>> for Vector2<T>
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moreimpl<T: Copy + Clone> Copy for Vector2<T>
impl<T: Clone> StructuralPartialEq for Vector2<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Vector2<T>where T: RefUnwindSafe,
impl<T> Send for Vector2<T>where T: Send,
impl<T> Sync for Vector2<T>where T: Sync,
impl<T> Unpin for Vector2<T>where T: Unpin,
impl<T> UnwindSafe for Vector2<T>where T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more