看板 Flash 關於我們 聯絡資訊
我用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
jeaby:ballmove 怎麼觸發的? 似乎有漏程式碼? 11/03 20:33
pet9231:Sorry那是修正前的QQ,ballmove裡的程式碼應該放在 11/03 20:41
pet9231:onEnterFrame裡面 11/03 20:42
pet9231:我有套過container[i]但是會變成一個大圖在反彈 11/03 20:43
jones86723:stage.stageWidth stage.stageHeight 才對 11/03 21:12