Bezdepbonusu7Программирование: статьи и ответы

Вопрос

ActionScript - BeginBitmapFill с активом библиотеки BitmapData?

Автор вопроса: Chunky ChunkОтветов: 2

Я импортировал ресурс изображения (Background.jpg) в свою библиотеку Flash CS5 и экспортировал его в ActionScript как класс Bitmap с базовым типом BitmapData.

следующий код возвращает следующую ошибку:

backgroundTexture = new Shape();
backgroundTexture.graphics.beginBitmapFill(Background);
backgroundTexture.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
backgroundTexture.graphics.endFill();

1067: Неявное приведение значения типа Class к несвязанному типу flash.display: BitmapData.

так в чем же ошибка?

assetsbitmapflashactionscript-3

Ответы

Ответ 1 · рейтинг 1 · zzzzBov

Вам просто нужен экземпляр объекта Background BitmapData:

backgroundTexture.graphics.beginBitmapFill(new Background());

Background - это ссылка на класс. new Background() создает экземпляр класса.

Ответ 2 · рейтинг 1 · Michael Brewer-Davis

У меня больше опыта работы с Flex, чем с Flash, поэтому я не знаю деталей пользовательского интерфейса, но я считаю, что вам нужно:

var background:BitmapAsset = new Background() as BitmapAsset;
backgroundTexture.graphics.beginBitmapFill(background.bitmapData);

Предполагается, что ваш пользовательский интерфейс генерирует следующий код ActionScript или его эквивалент:

[Embed(source="Background.jpg")]
public var Background:Class;

Видеть:

  • http://www.adobe.com/devnet/flash/quickstart/loading_images_library_as3.html
  • http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы