ポーズボール の 作り方 | ゲームと英語とすんでるとこ

ゲームと英語とすんでるとこ

ゲームと英語のメモブログと話題なテーマへのコメント

まず、ポーズボールという用語がわかっていないと これを見つけることができませんよね。。
僕はこれが大変でした。SLの用語。 SL=セカンドライフ オンライン系には略語した用語がでてきますよね。。

アバターの動き と考えて
ポーズ、アニメ、アニメーション、動作、動き なとこから連想して検索してました。
でも、ボールとつながらないですよね。これは色々なところを旅してみると
ボールがおいてあることに気がつくと思います。

さて、ポーズボールをつくるため 色々とサイトを調べてみました。
あ、最初にいっておきますが、僕はプログラマーではないので、まったくプログラムの知識はありません。。。ので

あしからず・・・。


でも、ポーズボールのプロセスは考えられると思います。
普通に考えると

1、誰かが ボールを触る。
2、触ると アニメーションがはじめる。
3、何かを押すと アニメーションがとまる。

というプロセスが行われているはずです。
ということは別でアニメーションを用意しないといけないのかしら??と思う。
ん 座ったらボールはけしたいなぁと思う。



これは、QAvimator というフリーのアニメーションを使います。

上記の動きをするには LSL でどんな風にかけばいいのでしょうか?

ボールに触る・・・。 これは?

touch_start( )

という呪文をつかうみたいです。

何かのトリガーをひかせないと 駄目みたいですね。

その後に アニメーションを動作させる という 呪文を書くみたいです。


それが これ

llStartAnimation(string anim);


タッチの呪文を詳しくみてみましょう。

しらべると 色々でてきます。


touch_start(integer num_detected)

touch_start(integer detected)


() のなかに いろいろとはいってますが、、。よくわかりません。。

とりあえず、touch_start(integer num_detected) これをひとつとして使うことにします。


あと 呪文についている ll これですが、 きっかけ と 命令 らしいです。

どういう時に? というのが  ll  これがついていないやつ。

ついているのは命令 呪文と覚えておきます。 参考:http://asuka-n.blogspot.com/2006_09_01_archive.html


touch_start( )

したら・・・・ というきっかけですね。 


タッチはわかるのだが、、 いまいち state_entry() がわからない。。

どんな状態のときに動作するのかしら?? これためしてみないとわからないですね。

アバターの画面にうつったとき? 近付いたときかしら。。。

何もしなくても発動する きっかけ なのかしら?? 自動で回転するとか。。。そんな感じなのですかね?


下記はメモです。


-------引用開始----------------

integer hidden = FALSE; // Stores whether the object is visible

default
{
state_entry()
{
llSitTarget(<0,0,1>,<0,0,0,1>); // Set the target one meter above the ground
llSetSitText("Pose!");
}

changed(integer change)
{
if(change & CHANGED_LINK) // If someone has sat on, or "linked," to this prim...
{
key agent = llAvatarOnSitTarget();
if(agent)
{
llStopAnimation("sit");
llStartAnimation("stand");
}
else
{
llStopAnimation("stand");
}
}
}

touch_start(integer total_number)
{
if(hidden)
{
hidden = FALSE;
llSetLinkAlpha(LINK_SET,1,ALL_SIDES);
}
else
{
hidden = TRUE;
llSetLinkAlpha(LINK_SET,0,ALL_SIDES);
}
}
}

-------引用終わり----------