Core.prototype.setArms()

setArms() メソッドは、腕の図形要素を設定します。デフォルトでは背面レイヤーを使用します。

right1 right0 left1 left0 { } { }

右手の前腕を right0、上腕を right1、左手の前腕を left0、上腕を left1 とすると、要素一覧は次のような配列の配列になります。

[
    [ right0, right1 ],
    [ left0, left1 ],
]

ここで指定した図形要素を描画レイヤーに追加します。drawArms() を呼び出せばこれらを動かすことができますが、逆に drawArms() ではここで指定した要素、またはデフォルトで用意されている要素しか動かすことができません。

図形要素はいずれも2点を指定して描画する SVGLineElement オブジェクト(<line> タグ)にする必要があります。

腕の本数や部位の個数がデフォルトと違う場合は必要な個数だけ要素を指定してください。

[
    [ arm00, arm01, arm02, arm03, ... ],
    [ arm10, arm11, arm12, arm13, ... ],
    [ arm20, arm21, arm22, arm23, ... ],
    ...
]

構文

setArms(arms)
setArms(arms, layer)

引数

arms
腕ごとの、図形要素の配列の配列です。
layer(省略可)
図形要素を置くための描画レイヤーを指定します。
この引数が省略されたときは Core.prototype.back に図形要素を置きます。
いずれの場合も既存の腕の要素は削除されます。

返値

なし

const core = new jmotion.Core("#board", true);
const arm = [
    [
        document.getElementById("arm0"),
        document.getElementById("arm1"),
        document.getElementById("arm2"),
    ],
];
core.setArms(arm);

// core.back = {
//     "arm0": line#arm0,
//     "arm1": line#arm1,
//     "arm2": line#arm2,
// }