VOO-DOO-DOLLS
(リアルタイムに開発中)

ドールの関節の定義

いよいよ中級編。このページではドールに独自定義の関節構造を定義する方法を紹介します。


関節構造の基礎概念

まずはsetting.xmlを開いてください。

partsノードの下に、bodyやhead, armRといったノードが格納されているのがわかると思います。

<doll version="0.5">
<settings>
~省略
</settings>
<parts>
<body> ~省略
</body>
</parts>
</doll>

partsノード以下のツリー構造はステージに配置したMCと同名のノードでできています。つまりドールはここで定義したツリー構造通りの関節構造をとるわけです。

サンプルでは、bodyを基点にhead, armR, armL, legR, legLが子パーツとして接続されているわけです。

<parts>
<body> <!-- bodyの子パーツ -->
<parts>
<head></head>
<armR></armR>
<armL></armL> <legR></legR> <legL></legL>
</parts>
</body>
</parts>

新しいパーツを追加する

さて、既存の構造に新しいパーツを追加してみます。ここでは頭に耳をつけてみましょう。

図のように頭の子要素として2つの耳を作ります。

まずdoll.flaをエディットして耳のMCを作成しステージに配置します。それぞれのMCにはearR, earLと名前をつけます。

次にsetting.xmlにパーツの定義情報を追加します。まずheadノードの下にパーツを定義する為のpartsノードを作ります。

~省略
<parts>
<head> <parts></parts>
</head>
</parts>
省略~

新しく作成したpartsノードの下に、earR, earLノードを作ります。

~省略
<parts>
<head> <parts> <earR></earR> <earL></earL>
</parts>
</head>
</parts>
省略~

このようにパーツを追加する場合には、まずスキンを作り、次に構造をXMLに定義することによって追加できます。基点となるパーツ(通常はbody)は1つのみというルールを除けば、ユーザーは自由にパーツの構造を定義することができます。


ここまででの作業でblogparts.htmlからドールに新しいパーツが追加されたはずです。うまく動かない場合、大抵は以下のチェックを行うと問題点を見つけられます。

  • XMLをブラウザにドラッグ&ドロップしたとき正しく表示されるか?
  • ムービークリップの名前とノードの名前はちゃんと一致しているか?
  • 基点となるMCが複数存在していないか?