deepgullet escribió:
Estoy realizando el clásico juego del arkanoid en flash. Mis conocimientos no es que sean gran cosa y me las estoy volviendo negras para solucionar una serie de bugs; me preguntaba si alguno de vosotros me echaría una mano para saber por donde atacar el problema. Básicamente lo que ocurre es que el hitTest() no es suficiente para que la bola no haga un poco (mucho) el tonto pareciendo a veces una bolita de estas que te dan en casos especials con los "power-up" que lo destroza todo
.
Os dejo el swf por si queréis ver exactamente de que se trata el error. Gracias por la paciencia!
esto sería el código de la pelotita
i este el de uno de los bloques (y por ende, cualquiera de ellos vaya):
Muchas gracias de antemano.

Os dejo el swf por si queréis ver exactamente de que se trata el error. Gracias por la paciencia!
esto sería el código de la pelotita
Código :
onClipEvent(load){ var dir, vel, velX, velY, angle: Number; dir=Math.round(Math.random()*1); vel=7; if(dir==1) {angle = 45;} else {angle = 135;} velX = vel * Math.cos((angle)*Math.PI/180); velY = vel * Math.sin((angle)*Math.PI/180); } onClipEvent(enterFrame){ if(_root.barra.hitTest(this._x, (this._y+7),true)) {velY *= (-1);} this._x += velX; this._y -= velY; if((this._x <= 34) || (this._x >= 314)) {velX *= (-1);} if(this._y <= 50) {velY *= (-1);} if(this._y >= 450) //canviar-ho, es quan es perd per sota {this._x = 200; this._y = 150; dir=Math.round(Math.random()*1); vel=7; if(dir==1) {angle = 45;} else {angle = 135;} velX = vel * Math.cos((angle)*Math.PI/180); velY = vel * Math.sin((angle)*Math.PI/180); } }
i este el de uno de los bloques (y por ende, cualquiera de ellos vaya):
Código :
onClipEvent(enterFrame) { if(_root.pilota.hitTest(this)) {this.nextFrame(); _root.pilota.velY *= (-1); } }
Muchas gracias de antemano.