応用知識


次は、ちょっとした応用編。
「知っておくと便利&幅が広がる」というようなものです。
では早速いきましょう。


    ・触り判定の名称について
      要するに、headとかfaceとかのことですね。
      「え?それがどうかしたの?」
      と、思われるかも知れません。確かにその通りなんですが…
      この部分は各サーフィスごとに個別に設定できるのです。これを利用すると…
      例えば、落ち込みサーフィス(大抵surface4に設定される表情)の頭判定を
      「head4」というように他のサーフィスとは違った判定名を設定しておけば、head4の反応に
      「落ち込んでいるときに撫でてくれてありがとう!!」
      「こんなときに叩くなんてひどいよ…」
      というように、各サーフィスごとに専用の反応を持たせることが簡単になるのです。

    ・アニメーションの後、わざと元の状態に戻さない
      どういうことかというと、例えば瞬きアニメーションを行ったとき、必ず最後に
      「-1」の値を入れて元の状態、つまり目を開いた状態に戻すかと思います。
      それをわざとやることなく、アニメーションの最後の動作の表示のまま、
      次の開始のタイミングまで待たせる状態にする、ということです。
      特にalways(ループでアニメーション再生)とかで怒りマークなど常に動かす場合など
      元の状態、いわゆる一端消したりするとアニメーションとアニメーションの間に、
      「絵が表示されない時間」が出来てしまうためちらつく原因になります。

    ・アニメーションのタイミングに0を使う
      基礎知識で紹介した画像の中でもあった、「表示させる時間ではなく、表示させるまで待つ時間」
      の部分のことです。
      使う場所は各アニメーション設定の最初。
      ここに「0時間」を入れることにより、そのアニメーションの最初の待ち時間無くはじめることが出来ます。
      これは、always(ループでアニメーション再生)とかの最初に仕込むことで、最初のちら付きをなくしたり
      することもできます。
      そして…これが真の威力を発揮するのは、アニメーションのパターンの関数である
      「runonce」(サーフィスに切り替わった瞬間に1回のみそのアニメーションを発生させる)
      と組み合わせたときです。
      この関数と一緒に使うことで、「サーフィスが切り替わった瞬間、アニメーションの1発目の
      画像表示が遅れることなく表示」させることが出来ます。
      これと、すぐ上で紹介した、「わざと元の状態に戻さない」を組み合わせると…
      サーフィスが切り替わった瞬間0時間で表示+元の状態に戻さない=element合成と同じような効果
      がだせる訳です。
      「じゃあelement使った方が早いじゃん」と思う人もいるかもしれませんが…
      elementの関数よりも応用がきくため覚えておいて損はありません。
      また、後で紹介するテンプレtxtの「耳ピク尻尾アニメーションtxt」では、この特性を使用していますので
      覚えておいてください。