Flash 板


LINE

想請教關於for的用途 我有一個ActionScript 大致上的架構是 放入數個流水號命名的實體 每個實體個別獨有的變數也使用流水號做對應 每個實體都偵聽並執行 同一個function 然後function裡面 則用event.currentTarget 做switch case 判斷當偵聽啟動時該對哪個實體做什麼.. (也就是按鈕1~10都走同的一function 但靠著switch 決定哪個按鈕該動作) 當元件數量一多時 重複相似性極高的程式碼相當礙眼 因此想用一個變數來決定實體放置的數量 用for來做簡化程式碼 讓該變數決定for執行的次數 ... 偵聽的部分 還有個別變數的運算都是OK的 原本1-20行 只要寫一次 讓for執行實體數量次數 決能夠達成 但似乎沒辦法用for 宣告變數命名 var a1, a2, a3 //for(i=1;i<=3;i++){ it doesn't work } 查了一下資料發現C/C++不允許這種作法 那ActionScript3.0 行嗎? 如果行該怎麼做? 這部分後來用矩陣的方法達成了. array(i) for(i=0;i<=1;i++){array[i]=done} 在最重要的switch判斷式 case 1: 陳述式 break; case 2: 陳述式 break; ... 這部分有辦法用for產生嗎? 例如欲放置100個實體 已經可以讓for產生100個實體以及個別需要用到的變數運算 偵聽 但這個switch裡面 case1-100 也能夠讓for產生 而不用100行以上的程式碼 我目前做出來就是error 感謝 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.153.186 ※ 編輯: forestluch 來自: 118.167.153.186 (03/13 15:57) ※ 編輯: forestluch 來自: 118.167.153.186 (03/13 15:59)
1F:推 zpl:不同case之間執行的內容有相似性嗎? 03/13 16:29
switch (event.currentTarget) { case op1 : activeCode = 1; opTargetWidth[activeCode] = actTargetWidth; picTargetX = picIntTargetX -((activeCode-1)*pic_mix.pic1.width-5); break; case op2 : activeCode = 2; opTargetWidth[activeCode] = actTargetWidth; picTargetX = picIntTargetX -((activeCode-1)*pic_mix.pic1.width-5); break; } 這是改寫前的程式碼 基本上執行的動作都是一樣的 只是 是 誰 要執行 所有的按鈕監聽都執行這個function 然後function執行時 透過switch 找到 現階段是誰在觸發 並給予一個變數 activeCode 這個變數是用來呼叫流水號的實體及其變數 因為前面在宣告運算偵聽都用for完成了 精簡了大幅的程式碼 所以希望這個switch也能比照精簡 ※ 編輯: forestluch 來自: 1.162.152.95 (03/13 20:29)
2F:推 love112302:不知道可不可以用 event.currentEventName.replace 03/13 21:18
3F:→ love112302:.replace("op","") 變成"1" 再放到你的陣列 03/13 21:19
4F:→ love112302:有點忘了切卻得名子 但是如果是我應該會這樣做 03/13 21:20
5F:→ love112302:才學淺 有錯見諒= = 03/13 21:20
6F:→ zpl:看起來你需要的是取得activeCode的方式對吧 03/13 21:35
7F:→ zpl:activeCode = int(event.currentTarget.name.substr(2)); 03/13 21:35
是的 如果我建立的10個按鈕 op1, op2, op3,.... op10 同時他們也各有對應的變數 var1, var2, .....var10 但偵聽的結果全都導向同一個 function 要用一個function來做多個按鈕的動作 我想到的便是在這個function裡包下每個按鈕的動作 並且利用switch 的 event.currentTarget 來做判別 將判別的各個結果定義成一個變數 activeCode 之後利用["op"+activeCode]的方式去執行動作還有變數的計算 因為這樣 每個case的內容幾乎是一樣的 差別在於是哪個按鈕和底下的變數做動作 目前為止是OK的 差在 用for 改寫switch這段 ※ 編輯: forestluch 來自: 1.162.152.95 (03/13 21:49)
8F:推 love112302:ㄚㄚ 都沒想到 subString 03/13 21:47
嗯 謝謝 zpl 和 love112302 我試試看^^ ※ 編輯: forestluch 來自: 1.162.152.95 (03/13 21:50)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP