Comunidad de diseño web y desarrollo en internet online

creando juegos

Citar            
MensajeEscrito el 20 Jul 2006 09:19 pm
Hola a todos, llevo algun tiempo manejando flash y actionScript, entre otras cosas me gusta hacer juegos, sin embargo tengo un problema q creo q es debido a mi forma de programar, es el siguiente:

-cuando creo por ejemplo un personaje corriendo para ambos lados: si camino hacia la izquierda o la derecha simpre va hacia ese lado pero en ocasiones la animacion no lo hace, y se queda caminando de espaldas.

Me he fijado tambien q al moverse muy rapido en una direccion lo hace como un cursor, es decir el movimiento no es fluido, va como si se entrecortara.

Creo q estos dos casos q me ocurren son por lo mimo, es que programo dentro de un
"onClipEvent(EnterFrame)" o "onEnterFrame = function()" , pero si lo hago con un "onMouseMove" el movimiento es fluido, es como si al repetir la entrada en el frame se produjera esa relentizacion.

Llevo bastante tiempo programando en flash y este fallo me va quitando las ganas de seguir ya que no me deja avanzar, POR FAVOR si alguien pudiera explicarme un poco el modo de programar que deberia utilizar para que no me ocurra esto seria para mi una gran satisfaccion.
Muchas gracias!

Por nekosoft

13 de clabLevel



 

msie
Citar            
MensajeEscrito el 21 Jul 2006 01:30 pm
¿Has probado a aumentar el número de fotogramas por segundo desde el panel de propiedades?

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 21 Jul 2006 06:48 pm
Hola y gracias x responder, he probado de todo inclusive lo de los fotogramas , pero tp, lo unico que me ha hecho hacer responder mejor los eventos de teclado ha sido repetir los comandos de programacion hasta 4 veces, es decir;

if(Key.isDown(Key.LEFT)){_x-=6 }
if(Key.isDown(Key.LEFT)){_x-=6 }
if(Key.isDown(Key.LEFT)){_x-=6 }
if(Key.isDown(Key.LEFT)){_x-=6 }

cosa q probe por q en otro lenguaje de programacion repetir una instruccion una vez a veces me resolvia el tema.

supongo q no tengo mas respuestas pq nadie sabe na, asi q voy a poner un poco del codigo y dnd lo he puesto para aclarar mas las cosas.

Creo un coche, y cuando la velocidad aumenta mas de 10 la animacion del movimiento no es fluida

el codigo va el clip del coche
------------------____________________---------------------__________________------------------------------
onClipEvent(load){
v=0;
_root.vel=v;
angulo=_rotation;
}
onClipEvent(enterFrame){
if(Key.isDown(Key.UP)){v++;}
if(Key.isDown(Key.DOWN)){v--;}

if(not Key.isDown(Key.UP)and v>0)v-=0.5;
if(not Key.isDown(Key.DOWN)and v<0)v+=0.5;

if(v>20){v=20}
if(v<-6){v=-6}

if(Key.isDown(Key.RIGHT)){_rotation+=6;}
if(Key.isDown(Key.LEFT)){_rotation-=6;}

_x+=v*Math.sin(_rotation*Math.PI/180);
_y-=v*Math.cos(_rotation*Math.PI/180);

}

si alguien hace juegos sabe algo, por favor q me diga algo. GRACIAS

Por nekosoft

13 de clabLevel



 

msie
Citar            
MensajeEscrito el 21 Jul 2006 10:28 pm
A ver, para que se vea fluido, lo que tienes que hacer es aumentar el número de fps y reducir la velocidad. Un movimiento de 20 pixeles por fotogrma se verá a trozos siempre (si no queda otra que hacerlo los fps an de ser mayores que 30). Además supongo que tendrías que desacelerar constantemente el coche, poner en cada fotograma v*=.98.
pd: en flash mejor que utilices && en vez de and y ! en lugar de not
[spam] Para hacer bien cosas como estas mira mi tuto XD [/spam]

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 27 Jul 2006 06:22 pm
Muchas gracias zah, probare lo que me dices

Por nekosoft

13 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.