AS3初心者です。
下記アドレスのサンプルに、
送るボタン と 返るボタン を追加したいのですが、次画像のインスタンス指定の仕方が分かりません。
送るボタンを押すと、今表示している画像>次へと進み
戻るボタンを押すと、今表示している画像>前へと戻る
ようにしたにのですが。(ループはしてもしなくてもよいです。)
http://gihyo.jp/dev/serial/01/as3/0032?page=1 (page=2は無視)
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
>(ループはしてもしなくてもよいです。
)ということですから
例えば「送るボタン」には「next_btn」というインスタンス名を付け
「戻るボタン」には「prev_btn」というインスタンス名を付けた場合
スクリプトを次のように変更すれば良いでしょう(変更例)↓
//-------------------------------------------------
// タイムライン: メイン
// MovieClipインスタンス
// サムネイル: button0_mc~button2_mc(★変更)
// 前へ・次へ: prev_btn , next_btn(★追加)
// 表示画像: my0_mc~my2_mc
// フレームアクション
var glow:GlowFilter = new GlowFilter(0x000033);
var dropShadow:DropShadowFilter = new DropShadowFilter();
var filters_array:Array = [glow,dropShadow];
//カウンタ用変数を用意(★追加)
var cnt:int = 0;
// 新規Objectインスタンスの生成
var showList:Object = new Object();
// インスタンス名のプロパティに対応する
//[インスタンスの参照,番号] を要素にもつ配列を格納(★変更)
showList.button0_mc = [my0_mc,0];
showList.button1_mc = [my1_mc,1];
showList.button2_mc = [my2_mc,2];
button0_mc.addEventListener(MouseEvent.ROLL_OVER, xShow);
button1_mc.addEventListener(MouseEvent.ROLL_OVER, xShow);
button2_mc.addEventListener(MouseEvent.ROLL_OVER, xShow);
//prev_btnクリック時に関数prevShowを実行(★追加)
prev_btn.addEventListener(MouseEvent.CLICK,prevShow);
//next_btnクリック時に関数nextShowを実行(★追加)
next_btn.addEventListener(MouseEvent.CLICK,nextShow);
function xShow(eventObject):void {
// Objectからインスタンス名のプロパティに納められた対応する参照を得る
var show_mc:MovieClip = showList[eventObject.currentTarget.name][0];
// Objectからインスタンス名のプロパティに納められた対応する番号を得る(★追加)
cnt = showList[eventObject.currentTarget.name][1];
xClearAll();
show_mc.visible = true;
show_mc.filters = filters_array;
}
//関数prevShowの定義(★追加)
function prevShow(e:MouseEvent):void {
//もしcntが0より大きければcntを-1する
cnt = (cnt > 0) ? cnt-1:cnt;
//関数xClearAllを実行
xClearAll();
//my○_mc を表示してフィルターをかける
this["my" + cnt + "_mc"].visible = true;
this["my" + cnt + "_mc"].filters = filters_array;
}
//関数nextShowの定義(★追加)
function nextShow(e:MouseEvent):void {
//もしcntが2未満であればcntを+1する
cnt = (cnt < 2) ? cnt+1:cnt;
//関数xClearAllを実行
xClearAll();
//my○_mc を表示してフィルターをかける
this["my" + cnt + "_mc"].visible = true;
this["my" + cnt + "_mc"].filters = filters_array;
}
xClearAll();
function xClearAll():void {
my0_mc.visible = false;
my1_mc.visible = false;
my2_mc.visible = false;
my0_mc.filters = [];
my1_mc.filters = [];
my2_mc.filters = [];
}
//-------------------------------------------------
※ ★マークを付けた辺りを変更・追加しています。
【注釈1】
//もしcntが0より大きければcntを-1する
cnt = (cnt > 0) ? cnt-1:cnt;
などにある「?:」を三項演算子と言います。
もしわからない場合は Google などで「ActionScript 三項演算子」などと検索してみてください。
【注釈2】
//my○_mc を表示してフィルターをかける
this["my" + cnt + "_mc"].visible = true;
などにある [] を配列アクセス演算子と言います。
もしわからない場合は次のページなどをご参考に。
「ドット演算子と配列アクセス演算子 - Flash テクニカルノート」
http://www.fumiononaka.com/TechNotes/Flash/FN110 …
( http://www.fumiononaka.com/TechNotes/Flash/FN050 … )
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- その他(プログラミング・Web制作) uwscとWinShotを使いスクリーンショットを撮る 1 2022/06/30 21:15
- Excel(エクセル) アンケート集計用VBAについて教えて下さい。 約100人にアンケート内容が入ったExcelファイルを 1 2022/07/27 13:12
- JavaScript jsで診断コンテンツのページ内切り替えについて 1 2023/04/14 17:31
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- コーヒーメーカー・電気ケトル・電気ポット パルスオキシメーターの故障でしょうか? 自宅に帰りパルスオキシメーターの表示が消えて たので電源ボタ 2 2022/08/21 02:14
- Chrome(クローム) Chromeは何で進むボタンが無いの? 1 2023/05/14 20:24
- InternetExplorer(IE) お気に入りの「一覧」の表示 2 2022/11/21 13:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
actionscript3.0 オブジェクト...
-
photoshopで書いた四角の枠の中...
-
YOASOBI
-
【Photoshop】レイヤー効果の境...
-
ドラッグ&ドロップからの取得
-
VS2008 C# ボタンのテキストを...
-
テキストボックスの中身をリセ...
-
PythonのTkinterイベントについて
-
python ボタンを押すと複数の関...
-
VBScriptでMsgBoxのYesNoボック...
-
五芒星は、悪魔崇拝とどういう...
-
変数に256文字以上のテキストを...
-
キープレスとボタンクリックの...
-
パーセントで配置したフラッシ...
-
×ボタンを無効化したいのですが...
-
【VB.NET】別Formのボタンが押...
-
VBAで改行の入ったデータの正規...
-
テキストボックスにセルの値を...
-
斜めに移動
-
ダブルクリックと2回クリックの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数mcのランダム再生とmc指定...
-
Actionscript3.0 子のイベント...
-
photoshopで書いた四角の枠の中...
-
VBScriptでMsgBoxのYesNoボック...
-
webページ上、TABフォーカス出...
-
プログラミング、アーキテクチ...
-
VBAで改行の入ったデータの正規...
-
python ボタンを押すと複数の関...
-
YOASOBI
-
RPG(AS400)の本、サイトってあ...
-
別のアプリケーションのテキス...
-
テキストボックスの中身をリセ...
-
ホームぺージ制作で間違って重...
-
五芒星は、悪魔崇拝とどういう...
-
else if文の順序を変えることに...
-
【VB.NET】別Formのボタンが押...
-
テキストボックスにセルの値を...
-
UWSCのBTN関数について。
-
【Photoshop】レイヤー効果の境...
-
四乗根を英語で言うと・・・
おすすめ情報