Натолкнулся на странное поведение Haxe:
При использовании класса из собственного пакета ни в какую не хотят грузиться символы из библиотеки. А при использовании просто файлов-классов все нормально работает.
Смущает название пакета -- include. Все-таки это ключевое слово языка ActionScript. Для компилятора haXe это безразлично, а флэш-плеер, возможно, на этом спотыкается. Попробуй назвать пакет по другому.
import flash.display.BitmapData; class MainFon extends BitmapData{ publicfunctionnew(){ super(0,0); } }
LoadBitmapFromLib.hx:
//Если убрать эту строку - все ок, с ней - не работает
package include; // import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.PixelSnapping; import flash.Lib;
Вродь все верно написал, уже переделал без пакетов и все ок.
P.S.:В отладочном flash плеере была ошибка, что не может инстанцировать класс. При задании явных размеров ошибка исчезала, но был пустой прямоугольник.
Комментарии
смущает название пакета
Смущает название пакета -- include. Все-таки это ключевое слово языка ActionScript. Для компилятора haXe это безразлично, а флэш-плеер, возможно, на этом спотыкается. Попробуй назвать пакет по другому.
Спасибо
Спасибо, даже не ожидал такого если честно. Я на as мало писал. Начал ток недавно на haxe. Так что в любом случае спасибо.
код?
трудно по этим сведениям что-либо предположить
почти всегда использовал классы из своих пакетов и символы из библиотеки и проблем с этим не было
Код в swfmill
Код в swfmill lib.xml:
<movie version="9">
<library>
<bitmap id="MainMenuBg" name="MainMenuBg" import="MenuBg.png"/>
<bitmap id="MainLogo" name="MainLogo" import="Logo.png"/>
<bitmap id="MainColona" name="MainColona" import="Colona.png"/>
<bitmap id="MainFoto" name="MainFoto" import="Foto.jpg"/>
<bitmap id="MainFon" name="MainFon" import="Fon.jpg"/>
<bitmap id="MainPatrician1" name="MainPatrician1" import="Patrician1.png"/>
<bitmap id="MainPatrician2" name="MainPatrician2" import="Patrician2.png"/>
</library>
<frame>
</frame>
</movie>
swfmill simple lib.xml lib.swf
MainFon.hx:
class MainFon extends BitmapData{
public function new(){
super(0,0);
}
}
package include;
//
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.PixelSnapping;
import flash.Lib;
class LoadBitmapFromLib extends Bitmap
{
public function new(x:Float,y:Float,obj:BitmapData,width:Int=0,height:Int=0)
{
super(obj,PixelSnapping.AUTO,true);
// PixelSnapping
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
}
main.hx:
import include.LoadBitmapFromLib;
class Main{
public function static main(){
var t=new LoadBitmapFromLib(0,0,new MainFon(),10,20);
lib.current.addChild(t);
}
}
haxe.hxml:
-swf test.swf
-main Main
-swf-lib library.swf
-swf-version 9
-cp C:\bin\FlashDevelop\FirstRun\Tools\haxe\std
Вродь все верно написал, уже переделал без пакетов и все ок.
P.S.:В отладочном flash плеере была ошибка, что не может инстанцировать класс. При задании явных размеров ошибка исчезала, но был пустой прямоугольник.
Отправить комментарий