From Forum Nokia Wiki
Compatibility: Flash Lite: 1.1, 2.x
Creating the battery indicator
- Create a new movie clip
- In this movie clip create at least 2 layers:
- ActionScript: In this layer create as many keyframes as levels you want to display. (we will choose 8 levels in this example)
- Level: In the first frame, create a level bar corresponding to the lowest level.
In last frame create a keyframe and stretch your level bar to the highest level.
Then add a motion tween.
- Background: You can add a layer to put all your static components.
- Your timeline will be like this:
- In the first keyframe of the ActionScript layer add this code:
levelsNumber=8;
batMax = fscommand2("GetMaxBatteryLevel");
batLevel = fscommand2("GetBatteryLevel");
batSource = fscommand2("GetPowerSource");
batLevel2 = Math.ceil(batLevel*levelsNumber/batMax);
if (batSource == 0) { //If charger is not plugged
gotoAndPlay(batLevel2);
}
/* If charger is plugged, it will go to nextframe,
so the battery indicator will be animated.*/
- In all other keyframes add this code:
call(1);
- Put this movie clip into your scene.
Adding a percentage indicator
If you want to add a text indicator:
- Create a new layer and add a dynamic text.
- Fill the var field to link it to a variable (assuming batText in this example)
- Add this code in the first keyframe of the ActionScript layer, just before the if statement:
batText = "Battery Level: " add math.ceil(batLevel*100/batMax) add "%";
Flash Lite 2.x recommended improvements
- call(1): This action was deprecated in favor of the function statement.
- [...]Level: " add Math.c[...]: Macromedia recommends that you use the + operator.
Download
You can download an example with source code here:
Battery Indicator 240*320 (swf + fla)