看板 Flash 關於我們 聯絡資訊
※ 引述《HornyDragon (好色龍)》之銘言: : 今天場景上已經有許多射出的子彈,存在同一陣列裡,分別為 : bulletArray[1] , bulletArray[2] , bulletArray[3] ........... : 場景中並有許多不同目標,分別是 : balls[1] , balls[2] , balls[3] ...........等。 : 現在的問題是,當我使用balls[i].hitTest(bulletArray[i]) : 來檢定子彈是否擊中目標時, : 這樣寫會變成特定的子彈要打中特定的目標才有效啊 <囧> 請跳脫單迴圈的窠臼,使用雙迴圈吧 :) for (var i:Number = 0; i < balls.length; i++) { for (var j:Number = 0; j < bullets.length; j++) { if (balls[i].hitTest(bullets[j])) { //ball #i is hit //... continue; } } } 那個continue會跳出內迴圈,繼續執行下一個外迴圈 因為一個球只要被打中了,就沒有必要繼續檢察剩下的子彈 -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓 Blog http://cjcat.blogspot.com Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.83.243 ※ 編輯: cjcat2266 來自: 61.228.83.243 (05/31 11:31)
HornyDragon:嚇........!! 05/31 13:43
etrexetrex:如果那個球是一個點的話 05/31 23:26
etrexetrex:你可以一開始就把子彈放在一個容器內 05/31 23:27
etrexetrex:然後 容器.hitTest(球座標 , true) 05/31 23:27
Jerrynet:樓上這招好像不錯@_@ 06/01 01:42
etrexetrex:比較不用想迴圈XD 06/01 14:31
HornyDragon:二樓的作法好棒XDDDDDDD 06/01 14:31