![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравствуйте.
Прошу вашей помощи в решении одного вопроса. В программе использую много одинаковых объектов, которые отличаются только фоновой картинкой, названием и айди. Для таких объектов создал отдельный клас SmallIsland. package { import flash.display.*; internal class SmallIsland extends Sprite{ internal var islandName; internal var islandId; internal var islandType; public function SmallIsland(name, id, i_type) { this.islandName = name; this.islandId = id; this.islandType = i_type; var island_img:island1 = new island1(0,0); var currBg = new Bitmap(island_img); addChild(currBg); } } } Создаю объект и передаю имя, айди и тип фонового изображения. Для фоновых изображений, которые есть в библиотеке, я сделал Linkage... Тоесть каждая картинка походу является классом. Теперь вопрос. Как сделать так, чтобы при создании объекта и указания типа фонового изображения, в классе SmallIsland подгружалась соответствующая картинка с библиотеки? Тоесть,если я пишу То фоновым изображением должна быть картинка island1 из библиотеки. А если я пишу То фоновым изображением должна быть картинка island2 из библиотеки. Вот такой вопрос. Можно как-то сделать, чтобы в классе SmallIsland все работало без условий? Тоесть передаем тип изображения и это изображение подгружается. З.Ы. Сейчас в моем классе в качестве примера грузится одна и та же картинка для всех объектов var island_img:island1 = new island1(0,0); var currBg = new Bitmap(island_img); addChild(currBg); Спасибо за помощь.
__________________
Идущий осилит дорогу! Последний раз редактировалось Charly84; 07.11.2009 в 15:17. |
|
|||||
|
.
|
package { import flash.display.*; import flash.utils.getDefinitionByName; internal class SmallIsland extends Sprite{ internal var islandName; internal var islandId; internal var islandType; public function SmallIsland(name, id, i_type) { this.islandName = name; this.islandId = id; this.islandType = i_type; if (name) { // convert "Island #N" => "islandN" name = name.toLowerCase().replace(/ #/, ''); var c:Class = getDefinitionByName(name) as Class; if (c) { var bg:BitmapData = new c(0, 0) as BitmapData; super.addChild(new Bitmap(bg)); } } } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|