PDA

Просмотр полной версии : Реализация портфолио


Snut
02.11.2007, 01:22
или с чего начать?

Не уверен что в тот раздел, но т.к. собираюсь на сей задаче разобраться в ас3 поэтому постить решил сюда, если что, уважаемые модеры, перенесите.

Самому себе поставленна задача - создать динамическое портфолио. примерный вид - как на картинке ниже. Вроде понятно, нужны классы:
1) класс прелоадера
2) тот что парсит ХМЛ с входными данными
3) класс отражений
4) класс одной работы
5) класс выстраивающий внешний вид портфолио
6) класс отвечающий за заблюривание
7) класс отвечающий за перемещение от одной работы к другой
8) класс для отправки сообщений на почту
9) класс выстраивающий всю флешку, DocumentClass

вот по сему у меня возник вопрос ко всем кто когда либо делал сайты на ас2 ас3, с чего начать и как структурировать работу?

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

2morrowMan
02.11.2007, 01:30
По-моему, с классами ты немного перебрал, как для обычного портфолио.
Не стоит сильно заморачиваться - там нету ничего такого сложно.

Snut
02.11.2007, 01:32
to DarkLight, ну я обычно все это структурирую при помощи Visio, аналогов к сожалению не знаю
to 2morrowMan, ну почемуже? разве есть смысл допкстим соединять в один класс перемещение к разным работам и заблюривание?

DarkLight
02.11.2007, 01:35
5 - осторожно, чтобы не разжирел сильно
6,7 - можно слить в один класс со статическими методами имхо, т к это наложение эффектов...и отражения даже сюда всунуть

Snut
02.11.2007, 01:43
to DarkLight, да вообщем вариант, просто насколько они будут массивны?

да и еще, в любом случае при написании 3+5+6 понадобиться одна единственная математическая формула которая будет и менять размер и задавать силу блюра и скорость уезда при перемещении от одной работы к другой. вот что-то с ней пока тяжко....

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

PS если быть до конца честным, как это все реализовать пока не имею представления, но готов учиться....

DarkLight
02.11.2007, 01:45
ну а хотя бы со средой решение принято? Flash или Flex? от этого тоже многое зависит...

Snut
02.11.2007, 01:48
to DarkLight, flash с flex'ом у меня пока боооооольшие непонятки, даж подойти как к нему не знаю, вчера пытался поставить второй билдер, результат, в конце установки Try версии скачанной с сайта adobe, ребут компьютера. всмысле самостоятельный, ничем не обусловленный... взял и перезагрузился... аж 2 раза..

DarkLight
02.11.2007, 01:55
Ну если во флеше, собственно такая структура вполне подойдет, при этом класс работы линкуем к символу, я думаю.

Snut
02.11.2007, 02:02
ну да, это чисто теоретически - проще.

etc
02.11.2007, 10:36
Тут в принципе больше пяти классов не нужно.

Snut
02.11.2007, 13:01
__etc, а можно внести чуть больше конкретики?) ну из основных, document class, preloader class а остальные три?)

etc
02.11.2007, 14:27
Картинка, текст, кнопка.

Snut
02.11.2007, 15:35
__etc, хех:)

Snut
02.11.2007, 22:02
ну вот как-то так, сорит за качество, форум больше не дает...

etc
02.11.2007, 22:41
Ты делаешь портфолио с нормальным дизайном или клиент-серверное приложение по запуску ядерных ракет?

Snut
02.11.2007, 23:25
__etc, а ты хочешь сказать что качество проектирования, коддинга и планирования задачи для самого себя как в первом так и во втором случае должно быть разное? я так не считаю, к любой задаче надо подходить основательно.

etc
02.11.2007, 23:44
Я хочу сказать о том, что не надо использовать микроскоп для забивания гвоздей.

Snut
03.11.2007, 00:18
__etc, логично :)

начал писать потихонечку.


package ru.snut.src{
import flash.display.MovieClip;
import flash.events.*;
import flash.text.TextField;
import flash.utils.setInterval;
import flash.utils.clearInterval;
import fl.transitions.Tween;
import fl.transitions.easing.*;

dynamic public class Preloader extends MovieClip {
private var intervalOutId:int;
private var loaderOutY:Tween;
private var loaderOutAlpha:Tween;

public function Preloader():void {
addEventListener(Event.ENTER_FRAME, Update);
}

private function Update(e : Event):void {
var bLoaded:Number = stage.loaderInfo.bytesLoaded;
var bTotal:Number = stage.loaderInfo.bytesTotal;
var s:String = "";
var percent:Number = 0;
if (bTotal>0) {
percent = Math.floor(bLoaded/bTotal*100);
s = percent+ "%";
}

this.txt.text= s;
this.bar.gotoAndStop(percent+1);
// Если полностью загрузились, то проигрываем уезд лоадера, а потом переходим на второй кадр
if (bLoaded == bTotal || bTotal==0) {
if (parent is MovieClip){
(parent as MovieClip).stop();
tweeningOut();
}
intervalOutId = setInterval(loadOut, 1000);
}

}

private function loadOut(){
removeEventListener(Event.ENTER_FRAME, Update);
if (parent is MovieClip){
(parent as MovieClip).gotoAndStop(2);
}
}

private function tweeningOut(){
loaderOutY = new Tween(this, "y", Bounce.easeInOut, this.y, this.y + stage.width / 2, 1000, true);
loaderOutAlpha = new Tween(this, "alpha", Bounce.easeInOut, this.alpha, 0, 1000, true);
}
}
}


класс залинкован с символом в библиотеке

понять не могу почему не проигрываются твины...

etc
03.11.2007, 00:20
Я бы ещё и от AS3 отказался. AS2 прекрасно справится с задачей.
Диаграммы рисовать, конечно, научились, а вот функции именовать и код типизировать, увы, ещё нет.

DarkLight
03.11.2007, 00:32
...и кстати советую определиться со стилем описания импорта: либо везде ставить только до пакета, либо прописывать каждый класс, а то каша получается...и про типизацию верно замечено в предыдущем посте...

Snut
03.11.2007, 00:36
__etc, если посмотреть первый пост сообщения то данный проект затевается для того чтобы разобраться с ас3...

ну есть небольшие огрехи по поводу типизация, но я же прошу сильно не пинать, а помочь научиться...

etc
03.11.2007, 01:38
Так учитесь. Пишите типы, которые возвращает функция, права доступа, откажитесь от dynamic (он реально нужен крайне редко).

Snut
03.11.2007, 01:59
__etc, насчет dynamic - крайне согласен, врядли я буду использовать не предопределенные методы.

а приваты, паблики, войды уже везде расписал:)