Haxe

Натолкнулся на странное поведение Haxe:
При использовании класса из собственного пакета ни в какую не хотят грузиться символы из библиотеки. А при использовании просто файлов-классов все нормально работает.

Комментарии

смущает название пакета

Смущает название пакета -- include. Все-таки это ключевое слово языка ActionScript. Для компилятора haXe это безразлично, а флэш-плеер, возможно, на этом спотыкается. Попробуй назвать пакет по другому.

Спасибо

Спасибо, даже не ожидал такого если честно. Я на as мало писал. Начал ток недавно на haxe. Так что в любом случае спасибо.

код?

трудно по этим сведениям что-либо предположить
почти всегда использовал классы из своих пакетов и символы из библиотеки и проблем с этим не было

Код в swfmill

Код в swfmill lib.xml:

<?xml version="1.0" encoding="iso-8859-1" ?>
<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:
import flash.display.BitmapData;
class MainFon extends BitmapData{
   public function new(){
   super(0,0);
}
}
LoadBitmapFromLib.hx:
//Если убрать эту строку - все ок, с ней - не работает
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 flash.Lib;
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 плеере была ошибка, что не может инстанцировать класс. При задании явных размеров ошибка исчезала, но был пустой прямоугольник.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.