看板 Flash 關於我們 聯絡資訊
小妹又來請教各位大大們了....〒△〒 先前的氣泡排序法雖然有大大幫我解決一部份的問題(先謝rock大大) 但因為小妹想要用動畫step by step來呈現泡泡移動的方式... 所以一開使想要用偵測的方式將每次陣列有變化時去去執行動畫... 但因小妹功力太差,不知道該怎麼讓迴圈中斷... 所以想到先讓迴圈全部跑完,然後用trace的資料來判斷是否要進行動畫 但.....但是小妹不知道該用什麼方法把trace的資料儲存起來讓變數使用@@ 希望有神人大大幫忙解決這個問題阿~~~(困擾兩三天...TT...) 謝謝大家~~(鞠躬) ========= 原始檔 ========= var a:Array= [7,6,5,4];//給ball的值 _btn.addEventListener(MouseEvent.CLICK,onClick); //產生泡泡 for(var i:int=0;i<4;i++) //選擇幾個泡泡 { var ball:MovieClip=this;//new bobble() ball['b'+i].num_txt.text=a[i]; } //移動泡泡 function onClick(e:MouseEvent):void { for(var i:int=0;i<(a.length-1);i++) { //由於外層迴圈每執行一次,會確認一個泡泡的位置,因此內層迴圈 //不必每次都執行a.length-1次 for(var j:int=0;j<(a.length-1-i);j++) { //泡泡前後比較數值大小,如果前者大於後者,交換數值 if(a[j]>a[j+1]) { var temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; //trace可以把所有變化都輸出,但是小妹我不知道怎麼抓@@ trace('a='+a); trace('-------------'); } } } } 謝謝a大....TT.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.112.221 ※ 編輯: titidoby 來自: 140.127.112.221 (05/07 16:56)
aquarianboy:trace的回傳型態是void,所以別期待它會回傳什麼結果 05/07 17:29
aquarianboy:不過我不懂為什麼需要用trace的結果來做判斷? 05/07 17:29
aquarianboy:即然你都能trace出來了,怎麼不在trace之前就做判斷? 05/07 17:29
Esvent:就把trace的內容指定給某個變數不好了? 05/07 17:31
titidoby:因為迴圈內就變動4次,我都只能抓到最後1次,但是trace出 05/07 17:34
titidoby:現的卻可以將每次變化的輸出出來@@... 05/07 17:35
aquarianboy:那是因為你不知道怎麼用迴圈的關係.. :) 05/07 17:38
titidoby:喔喔~那請問a大,小妹應該要怎麼修改呢@@... 05/07 17:41
aquarianboy:你並沒有貼你的原始檔出來 05/07 17:53
※ 編輯: titidoby 來自: 140.127.112.221 (05/07 17:55) ※ 編輯: titidoby 來自: 140.127.112.221 (05/07 17:58)
titidoby:已附上原始碼..TT 05/07 17:59
titidoby:原始檔http://bit.ly/dsALbT 05/07 18:04