Re: [問題]如何準確抓到同類別的其他物件
※ 引述《Friess (Fries)》之銘言:
: 小弟場景有個btn_new
: 按下會產生物件a
: var a:MovieClip=new A();
: 如果現在舞台上有10個a被addChild近來
: 我想對他們各別hitTestObject
: 例如
: if (a.hitTestObject("請問這邊要寫什麼!?")){
: xxx
: xxx
: }
: 小弟我現在用的方法是
: 把所有add近來的"物件a",都加到$Array裡面
: 而且給予每個"物件a"一個pos屬性
: a.pos=$array.length
: 在發生碰撞這邊
: var一個影片片段temp
: for (var g=0; g<$array.length; g++) {
: if (g!=e.target.pos) {
: temp=container.getChildAt(g) as MovieClip;
: if (e.target.hitTestObject(temp)) {
: xxx
: xxx
: xxx
: }
: }
: }
: 小弟只會這樣用
: 是可以成功碰撞沒錯
: 但是常常會發生意外,例如temp抓到自己
: 有什麼方法可以更準確的抓到同類別的物件嗎?
: 拜託各位大大幫忙解答,這真的困擾我好久
你的 array 裝了什麼進去 ?
你的迴圈裡面沒用到 $array[g] 阿 = =
試試這個看看
var a:MovieClip = e.target;
var child:MovieClip;
for(var i = 0 ; i < container.numChildren ; i++)
{
child = MovieClip(container.getChildAt(i));
if(a != child)
if(a.hitTestObject(child))
{
xxx
}
}
會出現問題有可能是你在 xxx 裡面去做了 addChild 或是 removeChild
造成迴圈不完整或是 childIndex 跑位
但直接比對物件的話應該不會出包
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.137.198.18
推
11/21 17:18, , 1F
11/21 17:18, 1F
→
11/22 11:48, , 2F
11/22 11:48, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章