Available since LÖVE 0.9.0
This function is not supported in earlier versions.
Sets whether the Source's position, velocity, direction, and cone angles are relative to the listener, or absolute.
By default, all sources are absolute and therefore relative to the origin of love's coordinate system [0, 0, 0]. Only absolute sources are affected by the position of the listener. Please note that positional audio only works for mono (i.e. non-stereo) sources.
Source:setRelative( enable )
boolean enable ("false")
Nothing.
This example demonstrates how an absolute source is affected by the position of the listener.
local x, y, z = 0, 0, 0; local snd; local relative; function love.load() snd = love.audio.newSource('beep.wav', 'static') snd:setLooping(true); snd:play(); -- By default the sound is not relative. relative = snd:isRelative(); end function love.keypressed(key) -- Move the listener via WASD. if key == 'a' then x = x - 1; elseif key == 'd' then x = x + 1; elseif key == 'w' then y = y - 1; elseif key == 's' then y = y + 1; end love.audio.setPosition(x, y, z); -- Toggle between a relative and absolute source. if key == 'r' then relative = snd:isRelative(); snd:setRelative(not relative); end end function love.draw() love.graphics.print('Relative: ' .. tostring(relative), 20, 20); love.graphics.print('Listener: (x = ' .. x .. ', y = ' .. y .. ')', 20, 40); end
© 2006–2016 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/Source:setRelative