hace q aparezcan bolitas q jala de la biblioteca, cuales se mueve en diagonal colisionando con el borde y cuando colisionan entre ellas se ponen rojas
al analizarlo me tope con unas cosas raras en las funciones
el código es éste
Código:
this._lockroot = true; var SW:Number = 530; var SH:Number = 300; var numOfBalls:Number = 15; var mcBall:MovieClip; for(var i:Number = 0; i < numOfBalls; i++){ mcBall = _root.attachMovie("ball_mc", "ball"+i, _root.getNextHighestDepth()); mcBall._x = Math.random() * SW; mcBall._y = Math.random() * SH; mcBall._xscale = mcBall._yscale = Math.random()*200; mcBall.vx = (Math.random()*10) - 5; mcBall.vy = (Math.random()*10) - 5; } _root.onEnterFrame = move; function move():Void{ for(var i:Number = 0; i < numOfBalls; i++){ mcBall = _root["ball"+i]; mcBall._x += mcBall.vx; mcBall._y += mcBall.vy; checkWallCollisions(); } checkBallCollisions(); } function checkWallCollisions():Void{ if (mcBall._x + mcBall._width / 2 > SW) { mcBall._x = SW-mcBall._width / 2; mcBall.vx *= -.9; } else if (mcBall._x - mcBall._width / 2 < 0) { mcBall._x = 0+ mcBall._width / 2; mcBall.vx *= -.9; } if (mcBall._y + mcBall._width / 2 > SH) { mcBall._y = SH-mcBall._width / 2; mcBall.vy *= -.9; } else if (mcBall._y - mcBall._width / 2 < 0) { mcBall._y = 0+mcBall._width / 2; mcBall.vy *= -.9; } } function checkBallCollisions():Void{ for(var k:Number=0; k<numOfBalls-1; k++){ var mcBallA:MovieClip = _root["ball"+k]; for(var j=k+1; j<numOfBalls; j++){ var mcBallB:MovieClip = _root["ball"+j]; if(mcBallB.hitTest(mcBallA)){ // trace(_root["ball"+i]); //trace(_root["ball"+j]); mcBallA.play(); mcBallB.play(); } } } }
Lo raro es que la función move no devuelve parámetros según veo el VOID, esta función es llamada desde código simplemente con su nombre sin incluir los paréntesis que se supone se incluyen en las funciones así no lleven parámetros
tal cual veo en las funciones checkWallCollisions() y checkBallCollisions(); si son llamadas con paréntesis
ademas la función "move" en el cogido se pone en azul como si fuese palabra reservada, q no es acaso una función propia?
luego lineas mas arriba, porque igualan esto
Código:
si hago attachmovie root es igual q _root.createEmptyMovieClip? acaso no es que se hace un attach movie otra vez se reemplaza el contenido del movie clip actual?mcBall = _root.attachMovie("ball_mc", "ball"+i, _root.getNextHighestDepth());
esas dos cosas me tiene pensando pues no las entiendo
graciasss