Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.08.2013, 00:14
Вопрос вне форума Посмотреть профиль Отправить личное сообщение для Вопрос Найти все сообщения от Вопрос
  № 1  
Ответить с цитированием
Вопрос

Регистрация: Aug 2013
Сообщений: 2
Question Работа с изображениями

Здравствуйте!
Я начинающий флешер экшнскриптер три.

Не поможете ли разобраться? В общем, возник вопрос как лучше всего работать с изображениями.
Конкретно — нужно загрузить много, допустим 50, картинок и иметь возможность ими управлять, вызывать, удалять (с иерархии отображения).

Во первых: что лучше, загрузить их при компиляции (встраиваемые изображения) или нафигачить фрагментов во флеше (то есть муви клипов в библиотеку)?
Во вторых: как с ними удобней обращаться? Ну например, нужно чтобы конкретное изображение появилось по желанию пользователя. Скажем, чтоб через переменную:String передавалось нужное название изображения и оно вызывалось, помещалось на экран.

И ещё вопрос: как, снова же, удобней можно обращаться к элементам библиотеки? Нужно, к примеру, автоматом добавить на экран 10 разных мувиков. Не писать же десять раз new Example_mc0(); new Example_mc1(); new Ex.....

PS.: Работаю в CS5. Оказывается в нем нельзя загрузить картинку на этапе компиляции, верно?


Последний раз редактировалось Вопрос; 22.08.2013 в 14:56. Причина: Забыл добавить
Старый 22.08.2013, 00:23
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Смотря по тому, насколько часто эти 50 картинок будут изменяться.
Если раз и навсегда - в либу.
Если нет - внешними файлами.

10 мувиков добавлять......

new Example( "linkId"+i ) - в цикле...
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 22.08.2013, 10:07
SvetozarPNZ вне форума Посмотреть профиль Отправить личное сообщение для SvetozarPNZ Найти все сообщения от SvetozarPNZ
  № 3  
Ответить с цитированием
SvetozarPNZ
 
Аватар для SvetozarPNZ

Регистрация: Dec 2009
Сообщений: 125
Записей в блоге: 1
Хотите фотогалерею делать в браузере? Внешние файлы загрузите в массив. Работайте с картинками через массив. Пользователь либо на иконки будет нажимать, либо на стрелки, а вы все это свяжите с функциями, которые будут обращаться к массиву картинок.

По работе с библиотекой как вариант: создать мувик с картинками и оращаться к ним по z-индексу.

Код AS3:
massiveOfPictures [i] = new Example ().getChildAt[i]; // i - позиция дочернего объекта в индексе

Старый 22.08.2013, 14:55
Вопрос вне форума Посмотреть профиль Отправить личное сообщение для Вопрос Найти все сообщения от Вопрос
  № 4  
Ответить с цитированием
Вопрос

Регистрация: Aug 2013
Сообщений: 2
Цитата:
Сообщение от dark256 Посмотреть сообщение
10 мувиков добавлять......

new Example( "linkId"+i ) - в цикле...
Извините, непонятно как это должно работать. Что это за linkId. Выдает ошибку: "Неправильно количество аргументов. Ожидается 0."

Добавлено через 24 минуты
Возможен ли вообще обход элементов библиотеки?

Добавлено через 54 минуты
Пока что нашел выход в добавлении мувиков в массив. Но тут их нужно строчить:
array.push(new Example0());
array.push(new Example1());
.....
.....
array.push(new Example34));

Понимаете о чем я?

Я, конечно, могу и настрочить — не лень. Но будет ли это эффективно с точки зрения кода? Не будут ли это реально лишние байты?
_________________

Цитата:
Сообщение от SvetozarPNZ Посмотреть сообщение
По работе с библиотекой как вариант: создать мувик с картинками и оращаться к ним по z-индексу.

Код AS3:
massiveOfPictures [i] = new Example ().getChildAt[i]; // i - позиция дочернего объекта в индексе
Этот вариант интересен, но опять же, удобно ли будет работать с таких подходом? А как с добавлением в иерархию отображения?
Какая разница от моего подхода, кроме того, что уже не нужно строчить пол километра кода?

Старый 23.08.2013, 13:16
SvetozarPNZ вне форума Посмотреть профиль Отправить личное сообщение для SvetozarPNZ Найти все сообщения от SvetozarPNZ
  № 5  
Ответить с цитированием
SvetozarPNZ
 
Аватар для SvetozarPNZ

Регистрация: Dec 2009
Сообщений: 125
Записей в блоге: 1
Цитата:
Какая разница от моего подхода, кроме того, что уже не нужно строчить пол километра кода?
Разница в адресации к хранилищу данных. Вам не нужно прописывать класс для каждого мувика в библиотеке, но заранее надо знать, какой объект в каком слое лежит.
Это решаемо, но с некоторыми ограничениями
Код AS3:
massiveOfPictures [i] = new Example ().getChildByName('instanceName'); // instanceName - имя объекта в мувике
Нужно учитывать, что этот способ медленнее, но если у вас не тысячи картинок, то его можно использовать. Хотя для программиста не айс нагружать процессор лишней работой (даже если разница в микросекундах).

Как вариант, еще научитесь загружать картинки извне. Скорее всего у вас будет браузерное приложение, там надо будет сделать прелоадер. Если общий вес картинок в библиотеке будет большим, то при загрузке пользователь вместо вашей флешки будет видеть белое пятно.

Для добавления объектов отображения используйте методы класса DisplayObjectContainer. Там и примеры есть и все что надо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.