Difference between revisions of "Sound.setListenerPosition"

From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
 
=== Description ===
 
=== Description ===
 
Sets the position of the listener in a 3D environment.
 
Sets the position of the listener in a 3D environment.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
Sound.setListenerPosition(x,y,z,vx,vy,vz,dx,dy,dz,ux,uy,uz)
 
Sound.setListenerPosition(x,y,z,vx,vy,vz,dx,dy,dz,ux,uy,uz)
</source>
+
</syntaxhighlight>
  
 
   '''Note''': please notice the '''dot''' instead of the column Sound'''.'''setListenerPosition(...)
 
   '''Note''': please notice the '''dot''' instead of the column Sound'''.'''setListenerPosition(...)
Line 26: Line 26:
  
 
=== Example ===
 
=== Example ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
local audioScale=0.02
 
local audioScale=0.02
 
local scrW,scrH=application:getContentWidth(),application:getContentHeight()
 
local scrW,scrH=application:getContentWidth(),application:getContentHeight()
Line 77: Line 77:
 
stage:addEventListener(Event.TOUCHES_END, onTouchesEnd)
 
stage:addEventListener(Event.TOUCHES_END, onTouchesEnd)
 
stage:addEventListener(Event.TOUCHES_CANCEL, onTouchesCancel)
 
stage:addEventListener(Event.TOUCHES_CANCEL, onTouchesCancel)
</source>
+
</syntaxhighlight>
  
 
{{Sound}}
 
{{Sound}}

Latest revision as of 15:31, 13 July 2023

Available since: Gideros 2016.10
Class: Sound

Description

Sets the position of the listener in a 3D environment.

Sound.setListenerPosition(x,y,z,vx,vy,vz,dx,dy,dz,ux,uy,uz)
  Note: please notice the dot instead of the column Sound.setListenerPosition(...)

Parameters

x: (number) X coordinate of the listener
y: (number) Y coordinate of the listener
z: (number) z coordinate of the listener optional
vx: (number) X component of listener's velocity optional
vy: (number) Y component of listener's velocity optional
vz: (number) Z component of listener's velocity optional
dx: (number) X component of the direction the listener is facing optional
dy: (number) Y component of the direction the listener is facing optional
dz: (number) Z component of the direction the listener is facing optional
ux: (number) X component of up direction relative to the listener optional
uy: (number) Y component of up direction relative to the listener optional
uz: (number) Z component of up direction relative to the listener optional

Example

local audioScale=0.02
local scrW,scrH=application:getContentWidth(),application:getContentHeight()
Sound.setListenerPosition(scrW*audioScale/2,scrH*audioScale/2,0,0,0,0,0,1,0,0,0,1)

local dot1 = Bitmap.new(Texture.new("1.png"))
dot1:setAnchorPoint(0.5, 0.5)

local snd1=Sound.new("1.wav")
dot1.sndchn=snd1:play(0,true,true)

local dots = {dot1}

local function onTouchesBegin(event)
	local dot = dots[event.touch.id]
	if dot then
		stage:addChild(dot)
		dot:setPosition(event.touch.x, event.touch.y)
		dot.sndchn:setWorldPosition(event.touch.x*audioScale, event.touch.y*audioScale)
		dot.sndchn:setPaused(false)
	end
end

local function onTouchesMove(event)
	local dot = dots[event.touch.id]
	if dot then
		dot:setPosition(event.touch.x, event.touch.y)
		dot.sndchn:setWorldPosition(event.touch.x*audioScale, event.touch.y*audioScale)
	end
end

local function onTouchesEnd(event)
	local dot = dots[event.touch.id]
	if dot and stage:contains(dot) then
		stage:removeChild(dot)
		dot.sndchn:setPaused(true)
	end
end

local function onTouchesCancel(event)
	local dot = dots[event.touch.id]
	if dot and stage:contains(dot) then
		stage:removeChild(dot)
		dot.sndchn:setPaused(true)
	end
end

stage:addEventListener(Event.TOUCHES_BEGIN, onTouchesBegin)
stage:addEventListener(Event.TOUCHES_MOVE, onTouchesMove)
stage:addEventListener(Event.TOUCHES_END, onTouchesEnd)
stage:addEventListener(Event.TOUCHES_CANCEL, onTouchesCancel)