Hilfe
Parameter
parent | Identität des Objekts zu dem es hinzugefügt werden soll |
rolloff | Faktor der Lautstärkereduzierung (Standard=1) |
doppler | Faktor des Doppler-Effekts (Standard=1) |
distanz | Künstlicher Entfernungsmaßstab (Standard=1) |
Rückgabewert
Es wird die Identität des Hörers zurückgeliefert.
Beschreibung
Der Befehl CreateListener erstellt einen Hörer und liefert die Identität des Hörers zurück.
Mit dem Parameter "parent" übergibt man die Objektidentität zu dem es hinzugefügt werden soll. Falls nun ein Parent-Objekt bewegt wird, dann werden alle hinzugefügten Objekte automatisch verschoben. Ein Child-Objekt verschiebt dagegen kein Parent-Objekt mit. Ein Hörer wird an der Position des Parent-Objekts erstellt (normalerweise eine Kamera).
Der optionale Parameter "rolloff" gibt an, ab wann die Lautstärke mit Entfernung reduziert werden soll (Standard ist 1).
Der optionale Parameter "doppler" ist für den Doppler-Effekt verantwortlich. Doppler-Effekt (benannt nach dem Physiker Chr. Doppler) ist eine Frequenzänderung bei ändernder Entfernung des Erregers von Schallwellen. Möchte man den Effekt erhöhen, dann muss man auch diesen Wert ändern (Standard ist 1).
Der optionale Parameter "distanz" gibt an, wie die Lautstärke bei einer Entfernung reduziert wird. Es ist somit ein Entfernungsmaßstab. Da alle Objekte skalierbar sind, muss man auch die richtige Größe für den Soundmaßstab wählen (z.B. die Einheit 1 kann einer Menschengröße oder der Größe eines Hauses entsprechen).
Beispiel
Beispiel eines 3D Szene mit diesem Befehl:
SetBuffer BackBuffer ()
camera = CreateCamera ()
PositionEntity camera,0,1,-10
light = CreateLight ()
RotateEntity light,90,0,0
plane = CreatePlane ()
cube = CreateCube ()
PositionEntity cube,0,1,0
microphone = CreateListener (camera)
sound = Load3DSound ("media/ufo.wav")
While Not KeyHit (1)
If KeyDown(205) = 1 Then TurnEntity camera,0,-1,0
If KeyDown(203) = 1 Then TurnEntity camera,0,1,0
If KeyDown(208) = 1 Then MoveEntity camera,0,0,-0.05
If KeyDown(200) = 1 Then MoveEntity camera,0,0,0.05
If MouseHit (1) = 1 Then EmitSound (sound,cube)
RenderWorld
Text 0,0,"Benutze Cursortasten zum Verschieben"
Text 0,20,"Mit linker Maustaste Sound abspielen"
Flip
Wend
End
Siehe auch

