作者cjcat2266 (CJ Cat)
看板Flash
標題Re: [問題] 陣列的問題
時間Sun May 31 10:39:40 2009
※ 引述《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