2016-10-12 4 views
1

Я просмотрел это в Google и смотрел видео, но это не работает для меня.Растровое изображение из библиотеки

Когда я пытаюсь связать символ в библиотеке с AS Увязка, а затем прикрепить его к переменной BitmapData, этот код ошибки показывает:

Scene 1, Layer «Layer 1», Frame 1, строка 4 1067: Неявное принуждение значения типа Gun к несвязанному типу flash.display: BitmapData.

Я не использую bitmap или bitmapdata много, и я не использую классы много, поэтому я понятия не имею, что не так. Это мой код:

import flash.display.BitmapData; 

var gun:BitmapData = new Gun; 

И это мои дополнительные свойства для символа:

Экспорт для ActionScript = истина

Экспорт в кадре 1 = истина

класса = Gun

(У меня нет файла с именем Gun)

Базовый класс = f lash.display.MovieClip

Я не знаю, что I Я делаю неправильно, потому что я посмотрел несколько видеороликов и веб-сайты, говорящие, что это работает.

Может кто-нибудь мне помочь? Я пишу код неправильно, или что-то не так с моими настройками?

+0

Что делать, если вы назначаете 'Bitmap' как базовый класс? – null

ответ

2

Вы не можете объявить его как BitmapData - BitmapData только сырые растровые данные :)

Поскольку вы объявили MovieClip в качестве базового класса, это должно стать MovieClip:

var gun:MovieClip = new Gun(); 

Если пистолет не имеет временной шкалы (так что это графики с помощью всего одного кадра), установите базовый класс для Sprite и обрабатывать его как спрайт - это лучше для памяти и производительности:

var gun:Sprite = new Gun(); 
+0

Хорошо, я знал, что сделал что-то не так. –

+0

Есть ли способ сделать это как растровое изображение? Я никогда не использовал спрайты, так что я мог бы просто изменить спрайт, когда захочу? –

+0

@ ZaneClark, рядом с вашим комментарием для редактирования есть значок пера (в течение первых 5 минут публикации). В любом случае объявляем новый «bitmap» и новый «bitmapdata», а затем используйте, например, как: 'yourBMPdata.draw (gun);'. В Интернете есть много руководств по AS3 bitmapdata. –