Sorry for this, but it's a problem of my OWN IMAGE FILE !
Since I don't know how to close the silly question to new answers. I put up a clean solution here.
If you want to use image in preloader, here is my code. Tested under NME 3.5.5.
@:bitmap("assets/img/miniMoon.png") class BDmoon extends nme.display.BitmapData{}
class MyPreloader extends NMEPreloader
{
public var embedBmp:nme.display.Bitmap;
public var bmpFromAssets:nme.display.Bitmap;
public function new(){
super();
embedBmp = new nme.display.Bitmap(new BDmoon(64, 64, true));
addChild(embedBmp);
// Line below cause problem, nme.Assets not ready in preloader
bmpFromAssets = new nme.display.Bitmap(Assets.getBitmapData("assets/img/miniMoon.png"));
addChild(bmpFromAssets);
}
public override function onLoaded()
{
// dispatchEvent (new Event (Event.COMPLETE));
}
}
Refer: http://haxeflixel.com/forum/help/nme-355-preloader-flash-error