[問題] 使用for迴圈addChild的問題

看板Flash作者 (佑佑人)時間12年前 (2012/11/03 19:38), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/2 (看更多)
我用for迴圈 add了幾個球的MovieClip 並隨機放位置 然後我要做碰撞偵測,所以Push進去陣列裡面 程式碼如下: for(var i:int=0;i<10;i++) { var bb:damn = new damn(); this.addChild(bb); bb.x=50+Math.random()*350; bb.y=30+Math.random()*300; bb.width = 50-(i*3); bb.height = 50-(i*3); container.push(bb); } this.addEventListener(Event.ENTER_FRAME,onEnterFrame); function onEnterFrame(E:Event) { for(var i:int = 0 ; i < container.length ; i++) { if(m_mc.hitTestObject(container[i])) { container[i].scaleX = 0; } } } 目前為止還能動 再來我想要讓球在這個空間反彈 像是打磚塊的球那樣,只是底部也是可以反彈的 程式碼應該像下面這樣: var vx:Number = Math.random() * 12 - 6; var vy:Number = Math.random() * 12 - 6; function ballmove(e:Event) { bb.x+= vx; if (bb.x > stage.width-bb.width) { bb.x=stage.width-bb.width; vx*= -1; } else if (bb.x < 0) { bb.x=0; vx*= -1; } bb.y+= vy; if (bb.y > stage.height-bb.height) { bb.y=stage.height-bb.height; vy*= -1; } else if (bb.y < 0) { bb.y=0; vy*= -1; } } 但是我放進去之後 只有一個球會動 試問各位大大如何讓每個球順利的在反彈? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.231.140.37

11/03 20:33, , 1F
ballmove 怎麼觸發的? 似乎有漏程式碼?
11/03 20:33, 1F

11/03 20:41, , 2F
Sorry那是修正前的QQ,ballmove裡的程式碼應該放在
11/03 20:41, 2F

11/03 20:42, , 3F
onEnterFrame裡面
11/03 20:42, 3F

11/03 20:43, , 4F
我有套過container[i]但是會變成一個大圖在反彈
11/03 20:43, 4F

11/03 21:12, , 5F
stage.stageWidth stage.stageHeight 才對
11/03 21:12, 5F
文章代碼(AID): #1GbG8-zd (Flash)
文章代碼(AID): #1GbG8-zd (Flash)