Punksolid Tecnologia, Curiosidades, Sistemas de Informacion y un poco de Religion

23sep/086

Maten al Chema

Buscando en Internet sobre videojuegos en flash, que es lo que tengo poco aprendiendo, encontré el código fuente de un juego, y pensé que seria complejo he inentendible, el caso fué que si lo pude modificar, y aqui está el resultado.

11sep/0810

Hacer Medidor de Bateria en Flash Lite

Ayer experimentando con flash lite, empezé a cureosear entre las funciones sobre el celular que trae flash lite, y encontré el medidor de bateria entre otras cosas, buscando el funcionamiento de la función fscommand2("GetBatteryLevel");

Encontré un tutorial que explicaba como hacer un medidor de bateria (En ingles), y lo hice, así que explico como hacerlo.

1.- Primero creamos el archivo en File/New/Templates/Global Handsets/Nokia S60 240x320

Luego creamos un movie clip vacio (Ctrl + F8) y ponemos los keyframes que vayamos a utilizar, en mi caso puse 9.

En cada keyframe ponemos una animación a nuestro gusto, en todos los ejemplos ponen baterías, pero a mi se me antojó poner un monito que fuera cayendo conforme baja el nivel de batería,

Nuestros dibujos van a ser de menor a mayor batería, en otras palabras el primer frame el mono en la posición mas cansada y en el ultimo frame en la posición mas enérgica.

Dentro del movie clip monitos yo puse mas movie clips para ponerle animación mas interesante, como el Ki y una especie de respiración, el Ki lo hice en un movie clip con 3 frames y la respiración con un tween shape, es el único frame al que le puse mas movie clips y solo fue para darle mas vida al personaje.

2.- Nos vamos al Scenario y arrastramos desde la librería (Ctrl + L) hacia el scenario el movie clip del monito, tiene que estar seleccionado el layer del action script.

3.- En la pestaña de properties debemos poner el nombre de instancia del monito para poder manejarlo desde el action script, yo lo llamé "monito_mc".

4.- Con F9 abrimos el recuadro de Actions donde va insertado el siguiente codigo

/*Está linea se pone por default y es para poner a pantalla completa el flash*/
fscommand2("FullScreen",true);
/*Debemos sacar el nivel de bateria, en escala decimal ya que no todas las baterias duran lo mismo siempre para eso ocupamos el nivel de bateria actual.*/
current = fscommand2("GetBatteryLevel");
 
/*Y el nivel máximo de batería que puede alcanzar el celular*/
max = fscommand2("GetMaxBatteryLevel");
 
/*Dividimos el nivel actual de bateria entre el maximo 
y nos dará un valor decimal del 0 al 1*/
currentRatio = current / max;
 
/*En currentFrame multiplicamos el decimal por el numero de frames del movieclip para determinar en cual frame está, pero ocupamos convertirlo a int por que los frames son enteros y asi eliminamos los decimales*/
currentFrame = int(currentRatio * monito_mc._totalframes);
 
/*Con tellTarget decimos que monito avance y se detenga según el resultado de currentFrame*/
tellTarget ("monito_mc") {
gotoAndStop(/:currentFrame);
}

5.-Agregamos un frame normal en el layer actionscript para que no corra como si fuese animación.

6.-Creamos el movieClip (Ctrl + Alt + Shift + S) y lo guardamos en el celular, no es necesario moverle a las propiedades del Flash Lite.

Desconozco los limites de flash lite y es mi primera practica en el, y no sé que tantos movie clips, tweens son los máximos, pero estos han funcionado en mi celular Nokia 6300.

Código fuente final monito-bateria.fla

Respondo dudas