Hilfe

CreateListener

B3D

Aufruf

hörer = CreateListener (parent [, rolloff] [, doppler] [, distanz])

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.

Zur Zeit wird nur ein Hörer unterstützt - da man immer nur ein Lautsprechersystem hat!


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:

Graphics3D 640,480
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

EmitSound, Load3DSound

Übersicht Sound 3D Sound