Показать сообщение отдельно
Старый 14.12.2010, 18:29
zhoran вне форума Посмотреть профиль Отправить личное сообщение для zhoran Найти все сообщения от zhoran
  № 10  
Ответить с цитированием
zhoran

Регистрация: Dec 2010
Адрес: Химки МО
Сообщений: 95
Спасибо! я понял )

зы
В свойствах Символа поле Export for ActionScript останется неактивным, если в поле Type - значение Graphic.
Чтобы активировать чекбокс Export for ActionScript надо выбрать значение Type: Movie Clip.
При этом также активируется поле Class

Добавлено через 2 часа 26 минут
Получилось, но но не до конца.
Сделал как советовали: В fla библиотеке символ Table2.png отметил для экспорта с именем класса TablePng, BaseClass: flash.display.BitmapData - так эти свойства заполнились автоматом когда я драгдропнул на список символов fla библиотеки png файл Table2.png

В FD в дереве я вижу класс TablePng, наследующий от flash.display.BitmapData

У себя в проекте создаю файл Table.as в котором:
Код AS3:
public class Table extends TablePng {
    ...
}
Чтобы отрисовать его выполняю:
Код AS3:
table = new Table(...параметры)
addChild(table)
на это ругается на вторую строку так:
C:\flash\projects\PokerClient\src\Main.as(34): col: 13 Error: Implicit coercion of a value of type holdem:Table to an unrelated type flash.displayisplayObject.

а если пишу так
Код AS3:
table = new Table(...параметры) as DisplayObject
addChild(table)
то на это ругается на обе строки так:
C:\flash\projects\PokerClient\src\Main.as(33): col: 16 Error: Implicit coercion of a value of type flash.displayisplayObject to an unrelated type holdem:Table.
C:\flash\projects\PokerClient\src\Main.as(34): col: 13 Error: Implicit coercion of a value of type holdem:Table to an unrelated type flash.displayisplayObject.

Как это победить?

Добавлено через 4 часа 10 минут
Разобрался!
Оказалось из png файла получается символ типа BimapData - растровый полуфабрикат, который нельзя непосредственно вывести на сцену. Нужно еще из этого полуфабриката создать объект типа Bitmap, который уже можно выводить на сцену.
Ух.

Потому вместо:
Код AS3:
public class Table extends TablePng {
    ...
}
код переделал так:
Код AS3:
public class Table  {
    ...
    public var table_bitmap:Bitmap;
    public function Table(...):void
    {
         ...
         this.table_bitmap = new Bitmap(new TablePng);
    }
}
...
addChild(table.table_bitmap)


Последний раз редактировалось zhoran; 14.12.2010 в 21:24.