class
Eagle::AudioPlayer2D
- Eagle::AudioPlayer2D
- Eagle::Node2D
- Eagle::Node
- Reference
- Object
Overview
A sound with a position. It gets quieter with distance from the listener and pans left or right, which suits footsteps, explosions and ambient loops placed in the level.
The listener is the current Camera2D, or the origin when there is none.
waterfall = AudioPlayer2D.new(Sound.tone(200, 2, Sound::Wave::Noise), position: v2(900, 300), loop: true, autoplay: true)
waterfall.max_distance = 600
SceneTree.root.add(waterfall)
Included Modules
Defined in:
eagle/nodes/audio_player.crConstructors
-
.new(sound : Sound | Nil = nil, position : Vec2 = Vec2::ZERO, name : String = "", volume : Number = 1, loop : Bool = false, autoplay : Bool = false, max_distance : Number = 800)
Creates a positional player.
Instance Method Summary
-
#attenuation : Float32
Shape of the fall-off: 1 is linear, and higher values fade faster near the source.
-
#attenuation=(attenuation : Float32)
Shape of the fall-off: 1 is linear, and higher values fade faster near the source.
-
#effective_pan : Float32
Pan from the horizontal offset to the listener.
-
#effective_volume : Float32
Volume after distance fall-off.
-
#exit_tree : Nil
Stops playback when removed.
-
#listener_position : Vec2
Where the listener is: the current camera's center or the origin.
-
#max_distance : Float32
Distance at which the sound becomes silent.
-
#max_distance=(max_distance : Float32)
Distance at which the sound becomes silent.
-
#pan_width : Float32
Horizontal distance at which the sound is fully in one speaker.
-
#pan_width=(pan_width : Float32)
Horizontal distance at which the sound is fully in one speaker.
-
#process(dt : Float32) : Nil
Keeps the voice in sync.
-
#ready : Nil
Starts playing if
autoplayis set.
Instance methods inherited from module Eagle::AudioPlayback
autoplay=(autoplay)
autoplay=,
autoplay?
autoplay?,
bus : String
bus,
bus=(bus : String)
bus=,
effective_pan : Float32
effective_pan,
effective_volume : Float32
effective_volume,
emit_finished(*args) : Nil
emit_finished,
finished : Eagle::Emitter()
finished,
loop=(loop)
loop=,
loop?
loop?,
on_finished(&block : -> Nil) : Proc(Nil)
on_finished,
pan : Float32
pan,
pan=(pan : Float32)pan=(v : Number) pan=, pitch : Float32 pitch, pitch=(pitch : Float32)
pitch=(v : Number) pitch=, play(sound : Sound | Nil = nil) : Voice | Nil play, playing? : Bool playing?, sound : Sound | Nil sound, sound=(sound : Sound | Nil) sound=, stop : Nil stop, update_voice : Nil update_voice, voice : Voice | Nil voice, volume : Float32 volume, volume=(volume : Float32)
volume=(v : Number) volume=
Instance methods inherited from class Eagle::Node2D
direction_to(other : Node2D) : Vec2
direction_to,
distance_to(other : Node2D) : Float32
distance_to,
down : Vec2
down,
forward : Vec2
forward,
global_position : Vec2
global_position,
global_position=(p : Vec2)
global_position=,
global_rotation : Float32
global_rotation,
global_scale : Vec2
global_scale,
global_transform : Transform2D
global_transform,
look_at(target : Vec2) : Nil
look_at,
modulate : Color
modulate,
modulate=(modulate : Color)
modulate=,
parent_2d : Node2D | Nil
parent_2d,
position : Vec2
position,
position=(p : Vec2)
position=,
right : Vec2
right,
rotate(rad : Number) : Nil
rotate,
rotation : Float32
rotation,
rotation=(rotation : Float32)
rotation=,
rotation_degrees : Float32
rotation_degrees,
rotation_degrees=(d : Number)
rotation_degrees=,
scale : Vec2
scale,
scale=(s : Vec2)scale=(s : Number) scale=, to_global(local : Vec2) : Vec2 to_global, to_local(global : Vec2) : Vec2 to_local, top_level=(top_level : Bool) top_level=, top_level? : Bool top_level?, transform : Transform2D transform, transform=(t : Transform2D) transform=, translate(x : Number, y : Number) : Nil
translate(v : Vec2) : Nil translate, x : Float32 x, x=(v : Number) x=, y : Float32 y, y=(v : Number) y=
Constructor methods inherited from class Eagle::Node2D
new(name : String = "", position : Eagle::Vec2 = Vec2::ZERO, rotation : Float32 = 0_f32, scale : Eagle::Vec2 = Vec2::ONE)
new
Instance methods inherited from class Eagle::Node
<<(child : Node) : self
<<,
[](path : String) : Node
[],
[]?(path : String) : Node | Nil
[]?,
add(child : Node) : Nodeadd(*children : Node) : Nil add, add_child(child : Node) : Node add_child, add_to_group(group : String) : self add_to_group, ancestor_of?(node : Node) : Bool ancestor_of?, can_process? : Bool can_process?, child?(name : String) : Node | Nil child?, child_added : Eagle::Emitter(Node) child_added, child_count : Int32 child_count, child_removed : Eagle::Emitter(Node) child_removed, children : Array(Eagle::Node) children, children_of(type : T.class) : Array(T) forall T children_of, clear_children : Nil clear_children, draw(g : Graphics) : Nil draw, dump(io : IO = STDOUT, indent = 0) : Nil dump, each_ancestor(& : Node -> ) : Nil each_ancestor, each_child(& : Node -> ) : Nil each_child, each_descendant(&block : Node -> ) : Nil each_descendant, emit_child_added(*args) : Nil emit_child_added, emit_child_removed(*args) : Nil emit_child_removed, emit_tree_entered(*args) : Nil emit_tree_entered, emit_tree_exited(*args) : Nil emit_tree_exited, enter_tree : Nil enter_tree, exit_tree : Nil exit_tree, find(name : String) : Node | Nil find, find_all(type : T.class) : Array(T) forall T find_all, first_child : Node | Nil first_child, free : Nil free, get_node(path : String, type : T.class) : T forall T
get_node(path : String) : Node get_node, get_node?(path : String) : Node | Nil get_node?, groups : Set(String) groups, in_group?(group : String) : Bool in_group?, in_tree? : Bool in_tree?, input(event : Event) : Nil input, name : String name, name=(name : String) name=, on_child_added(&block : Node -> Nil) : Proc(Node, Nil) on_child_added, on_child_removed(&block : Node -> Nil) : Proc(Node, Nil) on_child_removed, on_tree_entered(&block : -> Nil) : Proc(Nil) on_tree_entered, on_tree_exited(&block : -> Nil) : Proc(Nil) on_tree_exited, parent : Node | Nil parent, path : String path, physics_process(dt : Float32) : Nil physics_process, process(dt : Float32) : Nil process, process_mode : Eagle::Node::ProcessMode process_mode, process_mode=(process_mode : Eagle::Node::ProcessMode) process_mode=, queue_free : Nil queue_free, queued_free? : Bool queued_free?, ready : Nil ready, ready_called? : Bool ready_called?, remove(child : Node) : Nil remove, remove_child(child : Node) : Nil remove_child, remove_from_group(group : String) : Nil remove_from_group, remove_from_parent : Nil remove_from_parent, resized(width : Int32, height : Int32) : Nil resized, root : Node root, to_s(io : IO) : Nil to_s, tree_entered : Eagle::Emitter() tree_entered, tree_exited : Eagle::Emitter() tree_exited, visible=(visible : Bool) visible=, visible? : Bool visible?, z_index : Int32 z_index, z_index=(z_index : Int32) z_index=
Constructor methods inherited from class Eagle::Node
new(name : String = "")
new
Constructor Detail
Creates a positional player.
Instance Method Detail
Shape of the fall-off: 1 is linear, and higher values fade faster near the source.
Shape of the fall-off: 1 is linear, and higher values fade faster near the source.
Horizontal distance at which the sound is fully in one speaker.