FlashのActionScript3.0を使って、システムを構築中です。
ステージには下記の処理にて9個のボタンが配置されています。
var machiBtArr:Array = new Array();
for(var b:int=1; b<10; b++) {
var machiBt_str:String = "machi"+ b;
var machiBtClass:Class =Class(getDefinitionByName(machiBt_str));
var machiBt:MovieClip = new machiBtClass();
addChild(machiBt);
machiBtArr.push(machiBt);
}
ここまではうまくいったのですが、
たとえば、machiBtArr[3]のボタンがクリックされたら、
imgPhoArr[3]の画像を表示させる。。。という処理をしたいと思います。
※配列imgPhoArrには、あらかじめムービークリックを登録済みです。
ネットでいろいろ調べ、予め識別できるidなどプロパティを
追加しておけばいいらしいということを知り、
下記のようにコードを追加しました。
for(var i:int=0; i<machiBtArr.length; i++) {
// 識別id追加
machiBtArr[i]._id = i;
// マウスイベント登録
machiBtArr[i].addEventListener(MouseEvent.CLICK, machiClick);
}
function machiClick(e:MouseEvent):void {
imgPhoArr[i].visible = true;
}
ただ、この方法だと、どのボタンをクリックしても
必ずimgPhoArr[8]の画像が表示されてしまいます。
machiBtArr[0].addEventListener(MouseEvent.CLICK, machiClick00);
machiBtArr[1].addEventListener(MouseEvent.CLICK, machiClick01);…
と処理をひとつづつ記述していけばうまくゆくのですが、
それだとソースが膨大になってしまい、何とか短縮させたいと思っています。
ActionScript3.0に精通された、技術者の方々、
良い方法があればご伝授していただけないでしょうか?
どうぞ、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
こうします。
function machiClick(e:MouseEvent):void {
var i:int=e.target._id;
imgPhoArr[i].visible = true;
}
つまり「e.target」がイベントの発生したオブジェクトになります。
No.1
- 回答日時:
次のページ(2ページ)全体が参考になると思います。
(最初に広告が出て鬱陶しいですが...)
「ActionScript 3.0で始めるオブジェクト指向スクリプティング:第32回 Dictionaryクラスを使う|gihyo.jp … 技術評論社」
http://gihyo.jp/dev/serial/01/as3/0032
http://gihyo.jp/dev/serial/01/as3/0032?page=2
BlurFiltanさん、いつもお世話になっています。^^
役に立ちそうなページへのリンク、ありがとうございます。
このような記事を読むと、
「何をしたいのか」を頭の中で技術用語に
置き換える必要があるなとつくづく思う次第です。
日々の仕事に忙殺され、なかなか学ぶ機会を設けることも
できずにいますが、時間を見つけてスキルアップしていこうと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコンボボックスの年月表示...
-
Giam
-
AS3.0 二次元配列でムービーク...
-
uwscでExcelに自動記入
-
potplayerについて質問です
-
拡張子「swf」の再生方法について
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
for文で配置した物の個別取得【...
-
(AS3)ムービークリップからメイ...
-
どのボタンがクリックされたの...
-
アクションスクリプトを簡素化...
-
関数の定義の仕方
-
AS3.0でフェードインできない
-
引数が変わってしまいます。
-
お願いします
-
actionscript3.0 データ型について
-
AS3でプリローダー
-
関数をストップさせるには。。。。
-
FlashPlayer6から8の仕様の変更...
-
FLASHCS3のActionScript3.0で外...
-
マウスクリックで値を送る(AS3...
-
actionScript3.0にてTouchEvent...
-
インスタンスをまとめて生成?
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
LRESULTとHRESULT
-
VBでボタンを押すと画像をラン...
おすすめ情報