Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> реализация темы(скина) 
:(
    Опции темы
szz
Дата 28.1.2007, 05:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 6
Всего: 33



Хочу написать такой движочек со своими элементами гуи (кнопки и тд.).
Столкнулся с проблемой реализации скина.
Элемены скина загружаются из отдельных swf файлов, нахожящихся в папке скина (например themes/default/button.swf - это скин кнопки дефолтной темы) Это необходимо чтоб любой мог создать свой скин не компилируя движок каждый раз заново, вроде вполне логично.
И получается такая загвоздка, что при появлении на экране нескольких кнопок одновременно - скин грузится для каждой их них.
Вот посмотрите на этот пример:
http://makesnap.com/eos/
тут если нажать на кнопку "{$url=blabla...", то на экране должны появиться 15 кнопок в рандомальных местах. Нажмите один раз и дождитесь появления 15и кнопок. Долго, не так ли?
 Кнопки выплывают когда скин для них загрузится, хоть это и один скин!

   На локалке работает быстро, но нужно что работало нормально в web.

Как вообще реализуются скины во флеше? Так, чтобы чтоб создать новый скин не приходилось перекомпиливать главный системный swf (только внешние файлы), но и чтоб не грузить скины при каждом их появлении?
Что-то типа attachMovie()  (настолько же мгновенно), но с внешними swf как loadMovie()?



--------------------
PM   Вверх
AlDev
Дата 28.1.2007, 07:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 8
Всего: 50



есть fla файл, в котором скни и лежит

по поводу загрузки и повторного использования два варианта:
1. Bitmap-ы. 
2. загрузить один раз и потом все из кеша браться будет. но подтормаживает с этим делом.
PM MAIL WWW ICQ YIM MSN   Вверх
szz
Дата 28.1.2007, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 6
Всего: 33



Битмапы не подходят, потому что они не интерактивные... а скин кнопки, например, может должен сам уметь задавать свое поведение с мышью(over/out/hit и тд.).
Цитата
загрузить один раз и потом все из кеша браться будет.

  ты имеешь ввиду само браузером, как картинки в htmlе или есть какие-то встроенные во флэш средства для кеширования?


--------------------
PM   Вверх
AntonioBanderaz
Дата 29.1.2007, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



Да слушай зачем так сложно... Кеширование итп...
смостри пишешь класс Skinnable, например, у которого есть определённый набор методов...
Допустим у тебя скинируются кнопки, и полу ввода...
Код

public class Skinnable {
      private var currentSkinName:String = "";
      private var inited:Boolean = false;

      public static var BUTTON:String = "BUTTON";
      public static var INPUT:String = "INPUT";

      public function initSkin(skinName:String):void {
            inited = false;
            currentSkinName = skinName;
            // Здесь грузишь всё в некоторые скрытые клипы на допустим _level0
            // Задаёшь свойство 
            inited = true;
      }

      public function isInited():Boolean {
           return inited; 
      }

      public function createSkinElement(element:String, parentMC:MovieClip = level0, params:Object = null):void {
           // Конструкция понятно if(element ==  Skinnable.BUTTON) 
           // Проверяешь если isInited тогда надо просто скопировать 
           // мувик в парент и задать ему параметры из params
           if(!isInited()) return;
           if(element == Skinnable.BUTTON) {
               // копируешь нужный мувик в парент.
               // задаёшь ему параметры
           }
      }
}


Надеюсь концепция ясна... ))) Удачи кнопки рульные )


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
szz
Дата 29.1.2007, 05:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 6
Всего: 33



Непонял... как копировать загруженный мувик? Ведь нет такой функции, чтоб загруженные мувики можно было бы копировать!


--------------------
PM   Вверх
AntonioBanderaz
Дата 29.1.2007, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



Цитата(szz @  29.1.2007,  05:12 Найти цитируемый пост)
Непонял... как копировать загруженный мувик? Ведь нет такой функции, чтоб загруженные мувики можно было бы копировать! 

Ну ты его грузишь в некоторый мувик на timeline, ну от туда и копируй

Добавлено @ 11:46 
через duplicateMovieClip


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
AlDev
Дата 29.1.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 8
Всего: 50



AntonioBanderaz, сложную структуру нельзя копировать

а вообще, юзай 9-ку. там все гуд
PM MAIL WWW ICQ YIM MSN   Вверх
szz
Дата 29.1.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 6
Всего: 33



Если бы duplicateMovieClip работал...  я бы не задавал этото вопрос...

Цитата
юзай 9-ку

  Вот, начал.
 Кстати, давайте создадим раздел AS3 для начинающих - а то я скоро начну засыпать тупыми вопросами smile


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 1,2 | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.