API Bitmap do Flash 8

O Macromedia Flash 8 introduziu novas caracteriscas para trabalharmos com bitmaps, é possivel aplicar em tempo de execução filtros como sombras e contornos. É possivel também otimizar suas animações usando o cache de bitmaps além da possibilidade de trabalhar com imagens pixel a pixel.

Uma das mais comentadas caracteristicas é o cache de bitmap(Bitmap Caching), aumentando muito a performace dos filmes, se por exemplo seu movie clip tem uma imagem vetorial muito complexa, com muitos pontos e suas coordenadas x e y são mudadas constantemente, pode ocasionar perda de desempenho pelo Flash Player pois a cada nova coordenada o Flash Player precisa “redesenhar” esse vetor.

No caso do bitmap, o Flash Player trata-o como um unico elemento. Não tenta deslocar pixel por pixel do bitmap a cada momento. trabalha o elemento inteiro, o que faz o trabalho com bitmap gaste menos recursos comparado com o trabalho de um vetor muito complexo.

Vejamos na prática como isso funciona:
Para determinar que um movie clip use esse recurso bastar setar seu valor para true como no exemplo:

ActionScript

  1. seu_movie_clip.cacheAsBitmap = true;

Na instalação do Flash 8, são instalados juntamente arquivos de exemplos e tutoriais. Vamos no seguinte caminho:

C:\Arquivos de programas\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\CacheBitmap

Temos o arquivo CacheBitmap.fla, em sua action temos o seguinte codigo:

//****************************************************************************
//Copyright (C) 2005 Macromedia, Inc. All Rights Reserved.
//The following is Sample Code and is subject to all restrictions on
//such code as contained in the End User License Agreement accompanying
//this product.
//****************************************************************************

import mx.transitions.Tween;
var listener:Object = new Object();
listener.onMotionFinished = function(objectTween:Tween):Void {
objectTween.yoyo();
};
var circlesArr:Array = new Array();
for (var i:Number = 0; i<10; i++) {
makeCircle();
}
function makeCircle():Void {
var depth:Number = this.getNextHighestDepth();
var circleClip:MovieClip = this.attachMovie(“Circle”, “circleClip”+depth, depth);
circleClip._y = Math.random()*400-circleClip._height/2;
var circleTween:Tween = new Tween(circleClip, “_x”, null, 0, 450, Math.random()*5+5, true);
circleTween.addListener(listener);
circlesArr.push(circleClip);
}
function clickBtn():Void {
var circleClip:MovieClip;
for (var i:Number = 0; iThis movie requires Flash Player 9

Para saber mais: http://livedocs.macromedia.com/flash/8

Flash, Flash Platform, Principal, RIA