J'essaie de copier les pixels d'une donnée bitmap. mais je continue à obtenir l'erreur suivanteLe paramètre sourceBitmapData doit être non nul.
Parameter sourceBitmapData must be non-null.
il arrive dans la méthode drawImage. exact après ma trace qui dit "a obtenu des données de toile".
canvasData.copyPixels(image,tileRect,tilePoint);
Ci-dessous est mon code
package com.objects {
import flash.display.Sprite;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.net.*;
import flash.events.*;
import flash.display.LoaderInfo;
public class gameObject extends Sprite {
protected var goWidth:Number;
protected var goHeight:Number;
protected var image:BitmapData;
protected var canvas:Bitmap;
public function gameObject():void
{
init();
}
private function init():void
{
}
public function loadImage(imageDir:String):void
{
trace("loadimage");
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,imageComplete);
loader.load(new URLRequest(imageDir));
}
private function imageComplete(e:Event):void {
var loader:LoaderInfo = LoaderInfo(e.target);
image = Bitmap(loader.content).bitmapData;
trace("imagecomplete");
}
public function drawImage(xPoint:Number = 0, yPoint:Number = 0, tWidth:Number = 0, tHeight:Number = 0):void
{
var tilePoint:Point = new Point(0,0);
var tileRect = new Rectangle(xPoint,yPoint,tWidth,tHeight);
var canvasData:BitmapData = new BitmapData(tWidth,tHeight);
trace("got canvas data");
canvasData.copyPixels(image,tileRect,tilePoint);
trace("copied pixels");
canvas = new Bitmap(canvasData);
}
}
}
et au-dessous est ce que j'utilise pour appeler la classe
balls = new Array();
balls[0] = new gameObject();
balls[0].loadImage("com/images/ball.gif");
balls[0].drawImage(0,0,15,15);
Quelqu'un a un indice ??