Pero el problema es que cuando uso el teclado para correr dejando apretado la tecla .. el personaje realiza solo una secuencia de animacion ( solo una pasada de frames .. en lugar de repetir el loop que tiene puesto ) o sea corre 2 segundos ..y para ( se sigue moviendo el MC pero no el personaje con los sprites =
Lo arme de la siguente forma :
Un flash Base con un cagador ( MC vacio ) donde se carga el swf externo que es el personaje animado
En este nivel tengo solo esta la linea para cargar el MC
Código ActionScript :
contenedor.loadMovie("ninja.swf") //carga el ninja en el contenedor
y en el MC vacio de este flash esta el script para moverlo con las teclas :
Código ActionScript :
onClipEvent(enterFrame) { if (Key.isDown(Key.UP)) { this._y = this._y - 5 ; } else if (Key.isDown(Key.LEFT)) { this._x = this._x - 5 ; } else if (Key.isDown(Key.RIGHT)) { this._x = this._x + 5 ; } else if (Key.isDown(Key.DOWN)) { this._y = this._y + 5 ; } }
Luego en un swf externo que tiene la animacion del ninja con los sprites tengo un detector de teclas que realiza una animacion basandose en las teclas que presione .. saltar correr iz .. correr derecha .. etc etc ..
Código ActionScript :
var teclado:Object = new Object(); teclado.onKeyDown = function() { if (Key.isDown(Key.UP)) { gotoAndPlay("arriba", 16); } else if (Key.isDown(Key.LEFT)) { gotoAndPlay("rundiz", 9); } else if (Key.isDown(Key.RIGHT)) { gotoAndPlay("runder", 2); } else if (Key.isDown(Key.DOWN)) { gotoAndPlay("abajo", 32); } else if (Key.isDown(Key.SPACE)) { gotoAndPlay("saltoder", 24); } else { gotoAndPlay("stop", 1); } }; Key.addListener(teclado);
Aca esta el final :
link por si no se ve :
[url=http://www.manthys.com.ar/test/base.swf][/url]