Mx escribió:
cucaracha escribió:
esk no tngo ni idea d actionscript
entonces podes hacer la animacion con interpolacion de movimiento.
Creo que "cucaracha" tendría que plantearse aprender AS. Le va a servir en el futuro.
Cucaracha: Igual, para que te vayas dando una idea, acá te posteo un código que hace saltar un MC llamado "clip_mc" al presionar espacio.
Código :
var saltando:Boolean = false;
var cayendo:Boolean = false;
//
var tiempo:Number;
//
var velSalto:Number = 8;
var gravedad:Number = 7;
var tiempoSalto:Numner = 50;
//
var pisoY = Stage.height - 30;
//
clip_mc._y = pisoy;
//
this.onEnterFrame = function () {
//
if (Key.isDown (Key.SPACE)) && !saltando && !cayendo) {
saltando = true;
}
//
if (cayendo) {
clip_mc._y += gravedad;
}
//
if (saltando && !cayendo && tiempo <= tiempoSalto) {
tiempo++;
clip._y -= velSalto;
}
//
if (tiempo > tiempoSalto && !cayendo) {
cayendo = true;
saltando = false;
tiempo = 0;
//
if (cayendo && clip_mc._y >= pisoY) {
clip_mc._y = pisoy;
cayendo = false;
};
Lo hice largo para separar todos los ifs y que sea más entendible (es decir, obvié los else y todo eso para simplificar). Como verás, usa 2 variables,
cayendo y
saltando y aumenta o disminuye la posición en
y del MC dependiendo de si estas se evaluan como
true o
false. Luego, hay 2 acciones que comienzan el salto (la que tiene el if
(Key.isDown....) y lo terminan (la que checkea si el MC se halla por debajo del piso).
La última acción (no por orden de aparición, sino por orden de mención en esta explicación) hace que el MC solo salte por un tiempo determinado.
Probá cambiar los valores y ver como afectan a la animación.
Por favor, tené paciencia si falla, porque lo escribí directamente en el browser y no lo probé. Si tiene algún error (creo que no, pero me puedo equivocar), decime y trato de solucionarlo.