前回から引き続きアイテムの取得についてです。

今回はアイテム取得の際に、
コメントを表示させてみたいと思います。

1.コメント欄の作成

まずコメントを表示する欄を作ります。

ピクチャ 12

まず鍵レイヤーを選択し、
部屋の作成の時に描いた下部の枠から
はみ出さないように、テキストツールで
コメントの枠を作成します。

作成後、インスタンス名を設定します。
※プロパティ上部のテキストボックスです。
今回は「komento」と付けました。

ASを書く時に使うので分かりやすい名前がいいと思います。


2.ASの書き換え

今回もまずはスクリプトを拝借。

on (release) {
_root.book_mc._visible=false;
_root.komento="本を手にいれた。";
}

前回のAS2.0に赤文字の一文が足されていますが、
これがコメントを表示するためのスクリプトです。 

このスクリプトをAS3.0用に書き換えます。
書き換えたのがコチラ

key_mc.addEventListener(MouseEvent.CLICK, click_hundler);
function click_hundler(evt:MouseEvent):void {
MovieClip(root).key_mc.visible = false;
MovieClip(root).komento.text = "鍵を手に入れた";
}

赤文字の部分は1で設定したコメントボックスの
インスタンス名を記載します。
AS3.0では文字列の部分は""で囲わないと、
エラーが出るようなので注意して下さい。

※緑文字の部分です

また、AS3.0では予め文字列を定義する事で
次のように書く事もできます。

var str1:String = "鍵を手に入れた。"
MovieClip(root).komento.text = "str1";

定義の書き方は『var 変数:型 = α』です。
型が文字列の場合はString、数字の場合はintという具合です。
そして型の部分は文字列や数字の場合は、
いちいち記載しなくても大丈夫です。

そんな訳で最終的なスクリプトがこれです。

var str1 = "鍵を手に入れた。"
key_mc.addEventListener(MouseEvent.CLICK, click_hundler);
function click_hundler(evt:MouseEvent):void {
MovieClip(root).key_mc.visible = false;
MovieClip(root).komento.text = "str1";
}
 
文字列の定義はクリックした後に
する必要もないので先に定義しておきます。

この辺りは理解するのに少し苦労しました。


3.フレームに記載

それでは2で書いたスクリプトを
前回のスクリプトに付け足します。

ピクチャ 14

これで鍵をクリックすると、
「鍵を手に入れた。」というコメントを
表示する事ができるようになりました。

少しづつですがAS3.0が理解できてきたので、
ちょっとアレンジを加えてみました。

ピクチャ 13

予めstr1をコメント欄に表示しておいて、
鍵を取得時にコメントがstr2に切り替わるように変更しました。
またコメントの色も変化させてみました。

ピクチャ 15

                  ↓

ピクチャ 16

この辺りは関数の使い方さえ分かれば
色々と応用が効くようになりそうですね。

中々AS3.0面白くなってきました!

次回は取得したアイテムをアイテム欄に
表示してみようと思います。