Source:setRelative (日本語)
LÖVE 0.9.0 から使用可能 |
この関数は以前のバージョンでは非対応です。 |
Source の座標、速度、方向および錐角がリスナーと相対的、または絶対的であるかどうかを設定します。
標準では、全てのソースは絶対的であるため LOVE に関連づけられている座標系の原点は [0, 0, 0] になります。絶対的なソースのみリスナーの座標に影響されます。音声の座標(つまり非ステレオ)はモノラルソースのみ動作することに注意してください。
関数
概要
Source:setRelative( enable )
引数
boolean enable ("false")
- True ならば Source の座標、速度、方向および錐角はリスナーへ相対的になりますが、 false ならば絶対的になります。
返値
ありません。
用例
絶対的ソースの実演
この用例では絶対的なソースがリスナーの位置により、どの様な影響を受けるのか実演します。
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();
-- 標準では音声は関連づけられていません。
relative = snd:isRelative();
end
function love.keypressed(key)
-- 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);
-- ソースに対して相対的または絶対的状態の相互切り替えをします。
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
関連
そのほかの言語
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info