Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/02/2012, 14:04
Avatar de Hazek
Hazek
 
Fecha de Ingreso: julio-2002
Ubicación: En mi casa :D ó ?
Mensajes: 418
Antigüedad: 21 años, 9 meses
Puntos: 3
Sonrisa Respuesta: Flash CS5 y juegos

Cita:
Iniciado por acumulador Ver Mensaje
Hola a todos amigos foreros, esta oportunidad tengo una duda sobre un juego que quiero hacer en Flash Builder para Iphone.
Lo que sucede es que hago el "hitTestObject" para colisiones y los movimientos en x Y y para una pelota en el listener del EnterFrame. Así queda:
stage.addEventListener(Event.ENTER_FRAME, MyEnterFrame);
y mi funcion para el EnterFrame es algo así:
function MyEnterFrame(evt:Event):void
{
Tiempo --;
lblTiempo.text = Tiempo.toString();

if(Tiempo>=1)
{
myBola.x -= (myBola.x - (myBola.x + acelX * 10)*0.6);
myBola.y += (myBola.y - (myBola.y + acelY * 10)*0.6);

//Evaluo la colicion con el objeto
if (myBola.hitTestObject(objeto))
{
ba...ba babababababa


Bueno el caso es que cuando llo corro en el Iphone el movimiento no se ve muy fluido entonces no se si es por donde escribo el codigo o por la cantidad de Frames por segundo o por algún error; la verdad soy muy nuevo en esto de juego y mas para AS3, por esto pido me oriente sobre las mejores practicas para empezar pero haciendo lo bien.
Aclaro que el movimiento de la bola lo hago de acuerdo al acelerometro del Iphone. La idea es mover una bola con el teléfono hasta un objeto con el cual hay colisión y ahí termina el juego. bueno en un tiempo determinado.

Por la colaboración que me puedan prestar muchas gracias,

Una disculpa por la demora de nueva cuenta.

Prueba con estas pequeñas variaciones en el codigo y ve que tal funciona, te anexo las partes fundamentales ;)

__________________________________________________ ___________
if (Accelerometer.isSupported)
{
acc = new Accelerometer();
acc.addEventListener(AccelerometerEvent.UPDATE, accUpdate);
addEventListener(Event.ENTER_FRAME, updateBall);
}


}

//Manejamos el acelerometro
private function accUpdate(e:AccelerometerEvent):void
{
accX = e.accelerationX;
accY = e.accelerationY;
}

//Manejamos el movimiento de la bola
private function updateBall(e:Event):void
{
myBola.x -= accX * 30;
myBola.y += accY * 30;

if (myBola.x > stageWidth - myBola.width * .5)
myBola.x = stageWidth - myBola.width * .5;

if (myBola.x < myBola.width * .5)
myBola.x = myBola.width * .5;

if (myBola.y > stageHeight - myBola.height * .5)
myBola.y = stageHeight - myBola.height * .5;

if (myBola.y < myBola.height * .5)
myBola.y = myBola.height * .5;
}
__________________________________________________ _____________
__________________
Tecnologias: Flash Platform, Java (Spring, HB, Struts, Grails), iOS, Android, JavaScript, PHP, SQL (MySQL, Oracle), Prolog, Assembler (PIC's) y Arduino - Electronica.