「Programatticus Takeoveriticus」(私のチームで進行中のジョーク) のように聞こえるのは本当に嫌いですが、ほとんどの Flash プログラマーが知っている「テクスチャ」はおそらく最善の方法ではありません。一般に、テクスチャとは、領域を塗りつぶすために使用する画像を指します。
あなたの情報に基づいて、あなたの「テクスチャ」は画像であると想定しています...おそらく.pngまたは.gif形式で保存されていますか?あなたがしたいことは、これらをあなたのライブラリにインポートすることです。
私は CS5.5 を使用しているので、これは少しずれている可能性がありますが、CS3 ではこれに近いはずです。
[ファイル] --> [インポート] --> [ライブラリにインポート...] に移動します。
使用したい画像を選択し、「インポート」を押してください。それらは通常、画面の右側にあるライブラリ ペインに表示されます (ただし、レイアウトによっては別の場所にある場合もあります。問題がある場合は、[ウィンドウ] メニューを使用して見つけてください)。
次に、[挿入] -> [新しいシンボル...] に移動します。
シンボルに名前を付けます。シンボル名のベスト プラクティスは、英数字とアンダースコアのみを使用することです (スペースやその他の句読点は使用しないでください)。
次に、タイプを選択します。これにはムービークリップをお勧めします。
あとはそのままにして「OK」を押します。ステージは、そのムービークリップのみの編集に切り替わります。
タイムラインを見てください。これは重要。タイムラインの最初のフレームをクリックし、ミュートを解除したい画像をライブラリからステージにドラッグします。自由変形ツールを使用して、必要に応じてサイズを変更します。
次に、配置した画像をクリックします。[プロパティ] ペインに移動し、その位置を左 0、上 0 に設定します。
次に、タイムラインで 2 番目のフレームをクリックします。ミュートの画像で上記の手順を繰り返します。この 2 番目の画像のサイズが最初の画像とまったく同じになるように注意してください。
両方の画像をタイムラインに配置したら、適切なフレームで最初のフレームをクリックします。[アクション] タブに移動します (フレームを右クリックし、[アクション] をクリックします)。
次のステートメントを入力します。
stop();
2 番目のフレームでこれを繰り返します。
stop(); ステートメントは、コードによって指示されるまでそのフレームにとどまるように Flash に指示するだけです。
上部にある青い「戻る」ボタンをクリックして、メイン ステージに戻ります。作成したばかりのオブジェクトがステージのどこかに置かれます。(そうでない場合は、ライブラリからステージにドラッグします。) このオブジェクトを必要な場所に配置し、必要に応じてサイズを変更します。
オブジェクトをクリックして選択し、[プロパティ] ペインに移動します。上部の "" と表示されている場所に、オブジェクトのインスタンスの作業名を入力します。このステージで 1 回しか使用していない場合は、ライブラリにあるものと同じ名前を付けてください (以前に名前を付けたものは何でも構いません)。この例では、「btnMute」と呼びます。
ここで、すべてのコードがある領域で、次のように入力します。
//Here we create a boolean (true/false) variable for whether sound is muted.
var muted:Boolean = false;
//Create the event listener for when the mute button is clicked.
btnMute.addEventListener(MouseEvent.CLICK, muteSound);
//Here is the event handler for the above listener.
function muteSound(evt:MouseEvent):void
{
//If muted is true...
if(muted)
{
//Set muted to false
muted = false;
//Change button to "unmuted" state.
btnMute.gotoAndStop(1);
}
//If muted is false...
else
{
//Set muted to true
muted = true;
//Change button to "muted" state.
btnMute.gotoAndStop(2);
}
}
そのコードの多くは見覚えがあるはずです。私が指摘したい主なことはbtnMute.gotoAndStop(...)
、特定のムービークリップに表示されているフレームを変更できるという行です。ステートメントの「...」を、移動したいフレーム番号に置き換えるだけです。
または、コードを使用することもできますbtnMute.gotoAndPlay(...);
。各フレームにコードがあるためstop();
、同じことが達成されます。
gotoAndStop(...);
との主な違いgotoAndPlay(...);
は、「AndStop」はフレーム上のコードを実行せず、stop();
関数がない場合はその後のフレームを再生しないのに対し、「AndPlay」は実行することです。
お役に立てば幸いです。繰り返しになりますが、別の方法をお勧めすることをお勧めします。ただし、ほとんどの場合、同じことを行うために別のアイテムを非表示にして表示するよりも、この方法の方がはるかにうまく機能することがわかります。