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

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

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

Регистрация: Nov 2008
Адрес: МО
Сообщений: 105
Отправить сообщение для sabarn с помощью ICQ
The bomb! Выкладываю OpenSource своего компонента!

Написал компонент-просмотрщик изображений.
Выкладываю его в надежде на то, что он Вам понравится. Пишите замечания, возможные огрехи.
Флэшер я с опытом примерно год, поэтому данная работа является и моим коэффициентом роста, так сказать.
В данный момент пишу свою онлайн-игру. Ноутбук сломался, а пока он в ремонте решил так развлечься.

Изображения, которые нужно просмотреть записываются в файле .xml, который передаётся данному компоненту.
Рассмотрим как следует обращаться к этому компоненту:
Код AS3:
import ImgXmlScroll; private var myComponent:ImgXmlScroll = new ImgXmlScroll("files.xml", "mask.png", 1.4, 5, 100, 350);
В данной строке:
"files.xml" - путь к файлу .xml, в котором лежат имена файлов и их описания. обязательный параметр.
"mask.png" - путь к файлу .png, который служит защитной маской изображений. если маска не обязательна, можно задать этот параметр так "". Или не писать его вообще, если следующие параметры тоже не нужно менять
1.4 - отношение длины изображения к его высоте(служит для их корректировки). Можно не задавать. По умолчанию равен 1,4
5 - количество отображаемых картинок на экране в полосе прокрутки. По умолчанию равно 4
100 - ширина отображаемых картинок в полосе прокрутки. По умолчанию равно 100
350 - ширина изображения в окне просмотра. По умолчанию равно 350

менять параметры компонента в ходе работы можно следующим образом:
Код AS3:
addChild(myComponent); // 
myComponent.y = 60; //поменять местоположение по оси "y"
myComponent.x = 100; //поменять местоположение по оси "x"
myComponent.picHeight = 100; //поменять ширину изображений в строке прокрутки
myComponent.picWidth = 50; //поменять высоту изображений в строке прокрутки
myComponent.imageWidth = 200; //поменять ширину изображения в окне просмотра
myComponent.imageHeight = 150; //поменять ширину изображения в окне просмотра
myComponent.picCount = 10;//поменять количество отображаемых на экране изображений в полосе прокрутки
Важно: Параметры меняются, если их новые значения входят в допустимые пределы. Эти пределы можно посмотреть в нижеприведённых константах.

При настройке компонента можно пользоваться константами:
myComponent.KOEFFDEFAULT - отношение по умолчанию ширины к высоте. равно 1.4;
myComponent.IMAGEMINX - минимальное значение ширины изображения в окне просмотра. равно 200;
myComponent.IMAGEMINY - минимальное значение высоты изображения в окне просмотра. равно 142.85714285714286;
myComponent.IMAGEMAXX - максимальное значение ширины изображения в окне просмотра. равно 600;
myComponent.IMAGEMAXY - максимальное значение высоты изображения в окне просмотра. равно 428.5714285714286;
myComponent.IMAGEDEFAULTX - значение по умолчанию ширины изображения в окне просмотра. равно 350;
myComponent.IMAGEDEFAULTY - значение по умолчанию высоты изображения в окне просмотра. равно 250
myComponent.PICMINX - минимальное значение ширины изображения в полосе прокрутки. равно 20;
myComponent.PICMINY - минимальное значение высоты изображения в полосе прокрутки. равно 14.285714285714286;
myComponent.PICMAXX - максимальное значение ширины изображения в полосе прокрутки. равно 200;
myComponent.PICMAXY - максимальное значение высоты изображения в полосе прокрутки. равно 142.85714285714286;
myComponent.PICDEFAULTX - значение по умолчанию ширины изображения в полосе прокрутки. равно 100;
myComponent.PICDEFAULTY - значение по умолчанию высоты изображения в полосе прокрутки. равно 71.42857142857143;
myComponent.PICCOUNTMIN - минимальное количество отображаемых картинок на экране в полосе прокрутки. равно 1;
myComponent.PICCOUNTMAX - максимальное количество отображаемых картинок на экране в полосе прокрутки. равно 20;
myComponent.PICCOUNTDEFAULT - значение по умолчанию количества отображаемых картинок на экране в полосе прокрутки. равно 4;
Вложения
Тип файла: zip myComponent.zip (5.0 Кб, 66 просмотров)
Тип файла: zip demo.zip (201.6 Кб, 73 просмотров)
__________________
так то оно так, но ежели иначе - так вот тебе и пожалуста


Последний раз редактировалось sabarn; 26.10.2009 в 17:39. Причина: Добавил демку
Старый 26.10.2009, 17:12
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Все в одном флаконе. Браво! Шаг вправо, шаг влево - расстрел.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Nov 2008
Адрес: МО
Сообщений: 105
Отправить сообщение для sabarn с помощью ICQ
Шаг вправо, шаг влево - расстрел. - это конечно красиво звучит, но допустимые границы сделаны для того чтоб изображение было ВИДИМЫМ на экране. Чтоб микроскопическим не было и в десять экранов тоже
__________________
так то оно так, но ежели иначе - так вот тебе и пожалуста

Старый 26.10.2009, 17:17
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Дему бы увидеть "вживую".

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

Регистрация: Nov 2008
Адрес: МО
Сообщений: 105
Отправить сообщение для sabarn с помощью ICQ
Сейчас выложу дему
__________________
так то оно так, но ежели иначе - так вот тебе и пожалуста

Старый 26.10.2009, 17:33
sabarn вне форума Посмотреть профиль Отправить личное сообщение для sabarn Найти все сообщения от sabarn
  № 6  
Ответить с цитированием
sabarn
 
Аватар для sabarn

Регистрация: Nov 2008
Адрес: МО
Сообщений: 105
Отправить сообщение для sabarn с помощью ICQ
вот демка
Вложения
Тип файла: zip demo.zip (201.6 Кб, 107 просмотров)
__________________
так то оно так, но ежели иначе - так вот тебе и пожалуста

Старый 26.10.2009, 18:28
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 7  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Я бы не стал называть это "компонентом" — это скорее некая тестовая реализация некой галереи)
__________________
Отряд Котовскага

Старый 26.10.2009, 18:30
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
В целом забавная хрень, наверно будет пользоваться популярностью у новичков.
Как заметил dimarik - полное отсутствие ООП, "правила хорошего тона" в коде отсутствуют (вызов super(), this используется где-то, а где-то не используется и тому подобное), нет комментариев к паблик методам, public const вроде
Код AS3:
public const IMAGEMINX = 200;
почему то не static...

Старый 26.10.2009, 18:34
sabarn вне форума Посмотреть профиль Отправить личное сообщение для sabarn Найти все сообщения от sabarn
  № 9  
Ответить с цитированием
sabarn
 
Аватар для sabarn

Регистрация: Nov 2008
Адрес: МО
Сообщений: 105
Отправить сообщение для sabarn с помощью ICQ
Psycho Tiger, конечно подобные замечания имеют смысл. Но хочу оговорить что упор ставился на алгоритмы. и сделано за три дня.
Коменты отсутствуют, так как названия переменных говорят за себя сами.
Буду очень признателен, если скажете в чём заключается отсутствие ООП

Котяра, всё таки это компонент, так как реализован именно как модуль

P.s. извиняюсь, но немного странно получать замечания об отсутствии в коде ООП от человека, который спрашивал "а зачем нужны интерфейсы?"
__________________
так то оно так, но ежели иначе - так вот тебе и пожалуста


Последний раз редактировалось sabarn; 26.10.2009 в 19:35.
Старый 27.10.2009, 04:39
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 10  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Про отсутствие ООП – наверное, имелось в виду то, что логично было бы разбить код на несколько классов (как минимум, вынести в отдельный класс работу с данными). А у вас всё в одном, что очень серьёзно затрудняет понимание кода и его дальнейшее расширение (наследование). Вернее сказать, в том виде, в каком он сейчас, ваш класс абсолютно нерасширяем, а это не есть хорошо.

Плюс – непонятные имена переменных (bzhnc, например), кое-где отсутствует типизация. Ещё я не увидел геттеров. Сеттеры есть, а если я захочу сделать picHeight += 20?
Также не радуют обработчики событий в 100 с лишним строк (myEnterFrame). Как правило, такие методы можно разбить на несколько более простых, что существенно облегчит понимание и отладку.

А насчёт комментариев – может быть, сейчас для вас имена переменных и говорят сами за себя. Мне же, например, понять, что есть arrUil01, очень сложно. И вам через полгода, уверен, будет не менее сложно. Поэтому комментировать очень важно, особенно если речь идёт о совместной разработке либо опубликовании кода. Причём комментировать как можно подробнее, особенно интерфейсную часть. Хоть и уходит на это чуть ли не треть от общего времени Неплохой стандарт задаёт ASDoc, к тому же, можно автоматом доки сгенерить, а это уже приятно.

В общем, это действительно пока не компонент. Прототип компонента – да, но работы ещё очень много.

Только не обижайтесь, пожалуйста, на критические отзывы – вы же сами попросили)

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

Теги
компонент OpenSource

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

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


 


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


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