Difference between revisions of "Source:setRelative (日本語)"

(Created page with "{{newin (日本語)|0.9.0|090|type=関数}} Source の座標、速度、方向および錐角がリスナーと相対的、または絶対...")
 
m (引数)
 
(One intermediate revision by the same user not shown)
Line 9: Line 9:
 
</source>
 
</source>
 
=== 引数 ===
 
=== 引数 ===
{{param|boolean|enable ("false")|True ならば Source の座標、速度、方向および錐角はリスナーへ相対的になりますが、 false ならば絶対的にします。}}
+
{{param|boolean|enable (false)|True ならば Source の座標、速度、方向および錐角はリスナーへ相対的になりますが、 false ならば絶対的になります。}}
 +
 
 
=== 返値 ===
 
=== 返値 ===
 
ありません。
 
ありません。
 
== 用例 ==
 
== 用例 ==
 
=== 絶対的ソースの実演 ===
 
=== 絶対的ソースの実演 ===
この用例では絶対的なソースがリスナーの位置によりどの様な影響を受けるのか実演します。
+
この用例では絶対的なソースがリスナーの位置により、どの様な影響を受けるのか実演します。
 
<source lang="lua">
 
<source lang="lua">
 
local x, y, z = 0, 0, 0;
 
local x, y, z = 0, 0, 0;

Latest revision as of 10:18, 15 July 2023

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

関連



そのほかの言語