pub struct TextAnimation {
pub animator: Box<dyn TextAnimator>,
}
Fields§
§animator: Box<dyn TextAnimator>
Implementations§
Source§impl TextAnimation
impl TextAnimation
Sourcepub fn new(animator: impl TextAnimator) -> Self
pub fn new(animator: impl TextAnimator) -> Self
Examples found in repository?
examples/text_2d.rs (lines 11-16)
6fn get_animation(index: usize) -> TextAnimation {
7 match index {
8 0 => TextAnimation::sine_wave(5., 1., 0., 0.5),
9 1 => TextAnimation::box_wave(5., 0.5, 0., 0.25),
10 3 => TextAnimation::bump(-5. * Vec2::Y, 0, 10, 10.),
11 _ => TextAnimation::new(|_, _, mut p: Vec2, t: f32| {
12 let u = 0.4 * (p.y * t.sin() + p.x * (1. + t.sin()));
13 p.x += u;
14 p.y += 0.1 * u;
15 p
16 }),
17 }
18}
Sourcepub fn sine_wave(
amplitude: f32,
frequency: f32,
phase_shift: f32,
stagger: f32,
) -> Self
pub fn sine_wave( amplitude: f32, frequency: f32, phase_shift: f32, stagger: f32, ) -> Self
Examples found in repository?
examples/text_2d.rs (line 8)
6fn get_animation(index: usize) -> TextAnimation {
7 match index {
8 0 => TextAnimation::sine_wave(5., 1., 0., 0.5),
9 1 => TextAnimation::box_wave(5., 0.5, 0., 0.25),
10 3 => TextAnimation::bump(-5. * Vec2::Y, 0, 10, 10.),
11 _ => TextAnimation::new(|_, _, mut p: Vec2, t: f32| {
12 let u = 0.4 * (p.y * t.sin() + p.x * (1. + t.sin()));
13 p.x += u;
14 p.y += 0.1 * u;
15 p
16 }),
17 }
18}
More examples
examples/hello_world.rs (line 17)
4fn setup(mut commands: Commands) {
5 commands.spawn(Camera2dBundle::default());
6 commands.spawn((
7 Text2dBundle {
8 text: Text::from_section(
9 "Hello, World!",
10 TextStyle {
11 font_size: 50.,
12 ..Default::default()
13 },
14 ),
15 ..default()
16 },
17 TextAnimationBundle::from(TextAnimation::sine_wave(50., 0.25, 0., 1.)),
18 ));
19}
examples/ui.rs (line 30)
4fn setup(mut commands: Commands) {
5 commands.spawn(Camera2dBundle::default());
6 commands
7 .spawn(NodeBundle {
8 style: Style {
9 width: Val::Percent(100.),
10 height: Val::Percent(100.),
11 align_items: AlignItems::Center,
12 justify_content: JustifyContent::Center,
13 ..Default::default()
14 },
15 ..Default::default()
16 })
17 .with_children(|commands| {
18 commands.spawn((
19 TextBundle {
20 text: Text::from_section(
21 "Hello, World!",
22 TextStyle {
23 font_size: 50.,
24 ..Default::default()
25 },
26 ),
27 ..default()
28 },
29 TextAnimationBundle {
30 text_animation: TextAnimation::sine_wave(50., 0.25, 0., 1.),
31 ..default()
32 },
33 ));
34 });
35}
Sourcepub fn box_wave(
amplitude: f32,
frequency: f32,
phase_shift: f32,
stagger: f32,
) -> Self
pub fn box_wave( amplitude: f32, frequency: f32, phase_shift: f32, stagger: f32, ) -> Self
Examples found in repository?
examples/text_2d.rs (line 9)
6fn get_animation(index: usize) -> TextAnimation {
7 match index {
8 0 => TextAnimation::sine_wave(5., 1., 0., 0.5),
9 1 => TextAnimation::box_wave(5., 0.5, 0., 0.25),
10 3 => TextAnimation::bump(-5. * Vec2::Y, 0, 10, 10.),
11 _ => TextAnimation::new(|_, _, mut p: Vec2, t: f32| {
12 let u = 0.4 * (p.y * t.sin() + p.x * (1. + t.sin()));
13 p.x += u;
14 p.y += 0.1 * u;
15 p
16 }),
17 }
18}
Sourcepub fn bump(displacement: Vec2, start: usize, m: usize, frequency: f32) -> Self
pub fn bump(displacement: Vec2, start: usize, m: usize, frequency: f32) -> Self
Examples found in repository?
examples/text_2d.rs (line 10)
6fn get_animation(index: usize) -> TextAnimation {
7 match index {
8 0 => TextAnimation::sine_wave(5., 1., 0., 0.5),
9 1 => TextAnimation::box_wave(5., 0.5, 0., 0.25),
10 3 => TextAnimation::bump(-5. * Vec2::Y, 0, 10, 10.),
11 _ => TextAnimation::new(|_, _, mut p: Vec2, t: f32| {
12 let u = 0.4 * (p.y * t.sin() + p.x * (1. + t.sin()));
13 p.x += u;
14 p.y += 0.1 * u;
15 p
16 }),
17 }
18}
Trait Implementations§
Source§impl Component for TextAnimation
impl Component for TextAnimation
Source§const STORAGE_TYPE: StorageType = bevy::ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy::ecs::component::StorageType::Table
A constant indicating the storage type used for this component.
Source§fn register_component_hooks(_hooks: &mut ComponentHooks)
fn register_component_hooks(_hooks: &mut ComponentHooks)
Called when registering this component, allowing mutable access to its
ComponentHooks
.Auto Trait Implementations§
impl Freeze for TextAnimation
impl !RefUnwindSafe for TextAnimation
impl Send for TextAnimation
impl Sync for TextAnimation
impl Unpin for TextAnimation
impl !UnwindSafe for TextAnimation
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
Return the
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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
Source§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut Components, storages: &mut Storages, ids: &mut impl FnMut(ComponentId), )
unsafe fn from_components<T, F>(ctx: &mut T, func: &mut F) -> C
Source§fn get_component_ids(
components: &Components,
ids: &mut impl FnMut(Option<ComponentId>),
)
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
fn get_components(self, func: &mut impl FnMut(StorageType, OwningPtr<'_>))
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self
using data from the given World
.