2011-09-23 2 views
0

Je suis en train d'exécuter la fonction suivante où car est un MovieClip:AS3: invalide Bitmap

public function cacheCar():void 
{ 
car.bounded = new Rectangle(car.getBounds(car)); 
var carOffset:Matrix = car.transform.matrix; 
carOffset.tx = car.x - car.bounded.x; 
carOffset.ty = car.y - car.bounded.y; 

car.bmpData = new BitmapData(car.bounded.width,car.bounded.height,true,0); 
car.bmpData.draw(car, carOffset); 
} 

mais je suis RECEVOIR l'erreur suivante:

ArgumentError: Error #2015: Invalid BitmapData. at flash.display::BitmapData/ctor() at flash.display::BitmapData() at com.George.MegaAmazingApp.Components::Road/cacheCar() [C:\path\to\class\called\Road.as:55]

Ligne 55 est: car.bmpData = new BitmapData(car.bounded.width,car.bounded.height,true,0);

Quelqu'un peut-il voir pourquoi c'est?

Répondre

0

largeur ou la hauteur du BitmapData est de retour 0. Essayez d'obtenir les limites en utilisant la scène: car.bounded = car.getBounds(car.stage);

Sur une note côté, getBounds() retourne un Rectangle de sorte que vous n'avez pas besoin de créer un nouveau.