
No.2ベストアンサー
- 回答日時:
~概略~
あるスプライト 内の フレーム1 とフレーム2に、それぞれ
「green.pdr のボタン」 と 「red.pdr のボタン」 を配置し、
そのスプライト内のフレームを 1⇔2 と切り替えれば良いと思います。
~詳細~
「ファイル」→「プロジェクトのプロパティ」の[SWFバージョン]で、
[SWF4] にチェックが入っているものとします。
また、
「green.pdr」 と 「red.pdr」 はすでに作成してあって、
シンボルリスト内に追加(登録)してあるものとします。
シンボルリストのアイテム欄を右クリックし、
「アイテムを追加」→「ボタン追加」でボタンを追加します。
このとき、
[通常時(必須)] の項目には 「green.pdr」 のみを指定します。
再び、シンボルリストのアイテム欄を右クリックし、
「アイテムを追加」→「ボタン追加」でボタンを追加します。
このとき、
[通常時(必須)] の項目には 「red.pdr」 のみを指定します。
また、シンボルリストのアイテム欄を右クリックし、
「アイテムを追加」→「スプライト追加」でスプライトを追加します。
このとき、
[サイズ] の [幅」 と [高さ] は、
「green.pdr」 や 「red.pdr」 のサイズと合わせておくほうが扱い易いと思います。
(基本的にはサイズは任意です。デフォルト指定されるキャンバスのサイズでもかまわないとは思います。)
そのシンボルリスト内に新規で作成したスプライトを選択して
その上の欄の 「編集」 ボタンをクリックし、スプライト内タイムラインの編集に入ります。
シンボルリストで、「green.pdrを指定したボタン」を選択し、
「右クリック」→「レイヤーに追加」でスプライト内のフレーム1に「green.pdrを指定したボタン」を配置します。
その 「green.pdrを指定したボタン」 のレイヤーの フレーム2 を選択し、
シンボルリストで、今度は 「red.pdrを指定したボタン」を選択し、
「右クリック」→「レイヤーに追加」でスプライト内のフレーム2に「red.pdrを指定したボタン」を配置します。
ここまでの状態で、
スプライト内のタイムラインの フレーム1 には 「green.pdrを指定したボタン」だけ があって、
スプライト内のタイムラインの フレーム2 には 「red.pdrを指定したボタン」だけ があるはずです。
上側のレイヤー(「red.pdrを指定したボタン」のレイヤー)のフレーム1を選択し(つまり何もないフレームを選択し)、
そのレイヤー名の部分を「右クリック」→「アクションレイヤーの挿入」で、
[フレームアクション]レイヤーの キーフレームである フレーム1 を作成します。
その[フレームアクション]レイヤーの フレーム1 を選択し、
Suzukaソフトの画面の右下にある 「スクリプトを編集」 ボタンをクリックし、
[スクリプトエディタ] を表示させ、そこに
stop();
と書きます。
これでスプライトは勝手にループ再生しなくなります。
次に フレーム1 の 「green.pdrを指定したボタン」 を選択し、
画面の右下にある 「スクリプトを編集」 ボタンをクリックし、
[スクリプトエディタ] を表示させ、そこに
on(press){
gotoFrame(1);
}
と書きます。
これで、この 「green.pdrを指定したボタン」 を押したとき、
このスプライト内のフレームが フレーム2 に行って停止します。
この gotoFrame は少し変わっていて、
gotoFrame(0); だと フレーム1 に
gotoFrame(1); だと フレーム2 に
gotoFrame(2); だと フレーム3 に
… …
gotoFrame(n); だと フレーム(n+1) に進んで停止します。
ですから、
逆に行きたいフレームを n とするなら、
gotoFrame(n-1);
を書けば良いということになります。
gotoAndStop(n) = gotoFrame(n-1)
という関係です。
以上でスプライト内のタイムラインの編集は終わりですから、
画面左上のスプライト名の部分([スプライト1(ID:○)] のようになっているピンク色の部分)をダブルクリックし、
メインのタイムラインの編集に戻ります。
メインのタイムラインの編集に戻りましたら、
シンボルリストで今作成したスプライトを選択し、
「レイヤーに追加」でメインのタイムラインに追加します。
この辺で一度、
「ウィンドウ」→「プレビュー」などでボタンの動作確認をしていた方が良いです。
上に書いた内容がちゃんとできていましたら、
プレビューしたとき、
キャンバス上のスプライトには 「green.pdr」 の絵が表示されたままになっていて、
スプライトを押さえると 「red.pdr」 の絵に変わるはずです。
--- --- ---
さて次に、別のボタンで「green.pdr」に戻す方法 です。
スプライトを別の外部のボタンなどから操作するには、
スプライトのインスタンス名が必要です。
上で配置したスプライトのあるレイヤーの、レイヤー名の部分をダブルクリックして、
[レイヤーのプロパティ]パネルを表示させ、
2つ目の項目 [インスタンス名] の欄でインスタンス名を付けます。
インスタンス名はアルファベットから始まる半角の文字を使えばたいてい何でも良いです。
ここでは、
green red sprite (緑赤スプライト)の略のような意味で、
「GRsprite」 というインスタンス名にでもしておきましょうか。
「別のボタン」は適当に(任意で)作成し、
同じくメインのタイムラインのレイヤーに追加し、
キャンバス上に見えるように配置します。
そのキャンバス上の「別のボタン」を選択し、
画面の右下にある 「スクリプトを編集」 ボタンをクリックし、
[スクリプトエディタ] を表示させ、そこに
on(press){
tellTarget("/GRsprite"){
gotoFrame(0);
};
}
と書きます。
tellTarget("/GRsprite") は、
「_root にある GRsprite に命令」という意味です。
「/」が先頭に付くとそれは _root(メインのタイムライン)を指します。
したがって、
「/GRsprite」 は _root(メインのタイムライン) にある 「GRsprite」 という根のインスタンスということになります。
その他のターゲットパス表記もHTMLのファイルパスの表記とほぼ同じです。
以上で、
スプライト「GRsprite」 をプレスしたとき、
そのスプライトの絵が 「red.pdr」 に変わり、
「別のボタン」をクリックしたとき、
スプライト「GRsprite」 の絵が 「green.pdr」 に変わる。
というものができます。
ホント、SWF4 は大変ですね......。
Adobe の FlashLite1.0 や 1.0 でも普通音をあげて泣きを見るのが落ちですが,
Suzuka や ParaFla の SWF4 はもっと大変です(参考資料などもほとんどありませんし)。
この回答への補足
質問の補足ではありません。
一度、お礼してたので、お礼の欄が使用できず、ここで再度の、お礼をいたします。
自分でも出来ました。(あたりまえですね)
疑問が一つ解決して、勉強が先に進めます。
ありがとうございました。
懇切丁寧な、ご指導ありがとうございました。
勉強してる、SUSUKAそのままなので解り易いです。
これから、自分で実行してみますが、まずは、お礼まで・・・・。
No.1
- 回答日時:
SUZUKAと言うソフトを触ったことが無いので
違っていたらすみません。
SUZUKAはactionscript1.0に対応との事、
スクリプトで制御すればできると思います。
1.まずムービークリップを作成、
ここでは仮にインスタンス名testとします。
2.上記testの中にgreen.pdrをmcとして配置、
インスタンス名greenとします。
3.redをステージに配置せずライブラリに保存。(識別子はred)
4.test内にactionscriptレイヤーを生成以下を記述
green.onRollOver = function(){
green.removeMovieClip();
this.attachMovie("red", "red", 0)
red._x = ここにgreenと同じ座標;
red._y = ここにgreenと同じ座標;
}
とりあえずこれでロールアウトしても画像はそのままです。
んで戻すボタンは同様に
作ったボタンに対して
green.onPress = function(){
green.removeMovieClip();
this.attachMovie("green", "green", 0)
green._x = ここにredと同じ座標;
green._y = ここにredと同じ座標;
}
この回答への補足
早速の回答ありがとうございました。
本家FlashとSUZUKAの違いか、私の理解不足か解りませんが
2.上記testの中にgreen.pdrをmcとして配置、
インスタンス名greenとします。
インスタンス名が記入欄に記入できませんでした。
回答を参考に、自分でも勉強してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 医学 眼鏡の処方箋のAXとは 8 2022/11/10 13:25
- PDF OCR処理したPDFの結合 1 2023/07/13 18:22
- C言語・C++・C# C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、 3 2023/07/19 14:58
- 輸入バイク 実は高校生でもバイクで高速道路に乗れるってご存じでしたか。 6 2023/05/01 13:09
- スピーカー・コンポ・ステレオ Razer Nommo Chroma という外部スピーカーを使ってるのですが 電源が入らなくて困って 3 2022/08/07 20:04
- R&B・ヒップホップ この歌詞の曲名を教えてほしいです。 なぁどうせほらまた あいつらの顔色うかがって 自分の色が薄くなっ 1 2022/11/01 13:35
- Windows 10 Windowsをキーボードのボタン操作でシャットダウンさせたい 4 2022/11/08 19:23
- 英語 「a pair of red shoes」or「a red pair of shoes」 1 2022/11/11 15:04
- オンラインゲーム DBDで貞子の具現化ボタンと念写について 1 2022/04/02 01:28
- iPhone(アイフォーン) Iphone 13 pro maxが急に動かなくなった際の対処法 2 2023/08/15 02:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スライドプレゼンテーション機...
-
かなり困っています。FlashMXに...
-
FLASH ボタンフォーカスインし...
-
getURLでURLが表示されません・...
-
1つのボタンで外部ファイルを...
-
ボタンのカウント数でムービー...
-
ボタンでウィンドウを閉じたい
-
ボタンクリックでダイナミック...
-
FLASH 8 でのボタン作成
-
2つのムービークリップをスク...
-
ボタンのアニメーション
-
「”ニコスクリプト”、”ニワン語...
-
ボタンをクリックしたらボタン...
-
ムービークリップ内のムービー...
-
ボタンから一つ上の階層のムー...
-
MCの中のダイナミックテキスト...
-
特定のムービークリップの上で...
-
_widthから数値を導き出したい
-
Flashにサイトを表示させたい
-
文字列の分解・格納
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトはどこに書く?MCと...
-
スクロールメニュー
-
ムービークリップボタンの連動?
-
ボタンの上に重なっているMCを...
-
arduino プログラムについて
-
PHPでボタンをクリックすると変...
-
×ボタンを無効化したいのですが...
-
flash 計算機について
-
フラッシュ中に表示されるスク...
-
PDF
-
前月表示ですけど
-
adobe frash CS5.5について
-
buttonModeでボタン化したもの...
-
ループで使用している変数をう...
-
flashでボタンを押したら違うサ...
-
ボタンと連動したフェードイン...
-
ボタンの無効化
-
的当てゲーム
-
ボタンの重ね順について
-
Flash ActionScript3でHPを作成...
おすすめ情報