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.
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




