Прохождение вступительного курса Flash / AS3;проблемы с паттерном MVC - PullRequest
0 голосов
/ 07 марта 2012

Хорошо, я на прошлой неделе или около того разрушал свой горб в этом проекте для моего курса ООП / AS3, и в прошлое воскресенье я понял, что мой подход не сработает, поэтому я отбросил большую его частьи начал заново.

Наша задача - создать флэш-меню на основе XML, которое демонстрирует понимание только что изученных шаблонов ООП.Это был своего рода проект «Испытай воды», в котором он дал нам массу учебников и информации и сказал, что мы должны приложить все усилия, чтобы понять это, так что я уверен, что есть более эффективные способы сделать то, что я делаю.но это спорный вопрос.

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

  • MainUI имеет 4 выдвигающихся меню.
  • На каждом слайдере есть 3 миниатюры.
  • Нажатие на любую из миниатюр приведет кперейти к следующей части интерфейса.Эта функция в настоящее время отключена.

Программа работает с 0 ошибками компилятора, но изображения не помещаются на сцену правильно, и я не могу понять, почему.Все пути к изображениям извлекаются и сохраняются из XML должным образом.Основное фоновое изображение извлекается один раз и должно быть размещено только один раз (если оператор, который использует счетчик, чтобы определить, следует ли запускать функцию размещения или нет), но оно размещается 4 раза с изображением скользящего меню.Ползунки размещаются в правильных положениях (оператор switch, который перебирает функцию mainUI в классе View и создает для каждого отдельный загрузчик), но не все миниатюры отображаются.Вот что мне нужно для получения помощи:

  • Изображение mainPanel следует размещать только один раз, а не 4 раза с каждым ползунком.
  • Ползунки при правильном размещении, должен быть анимирован в разных направлениях через as (используя TweenMax), но каждый экземпляр неидентифицируем от другого, поэтому сейчас у всех есть EventListener, который вызывает один и тот же метод анимации.Как я могу различить их таким образом, чтобы я мог применить разные анимации к каждому (это, вероятно, будет проблемой с функциональностью миниатюр позже, так как мне нужно будет загружать различные данные XML, в зависимости от того, по какому пальцу щелкнули).

Я добавил, что я надеюсь, что это очень информативные комментарии к каждому сценарию, так что, надеюсь, люди могут помочь.Также включены изображения того, как я хочу, чтобы mainUI в конечном итоге выглядел и как он выходит в настоящее время.

  • pastebin со всеми 3 классами и XML (ограничение 2 гиперссылок) - http://pastebin.com/u/crookedparadigm
  • верхнее изображение - это то, как выводится сцена, нижнее изображение - то, чем я хотел бы быть - http://imgur.com/a/bOmsS

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

Любой совет будет с благодарностью принят!Спасибо!

Ответы [ 2 ]

0 голосов
/ 08 марта 2012

Установка FlexPMD Это очень хорошее дополнение (иногда сложное в установке). Оно в основном используется для демонстрации областей кода, которые вы не соблюдаете.Например, ваши классы не используют «это».И вам следует избегать передачи параметров в конструкторы.Хорошей практикой будет развитие стандартных навыков письма, пока вы еще новичок.

Глядя на ваш код, я вижу, что вы звоните buildUI из цикла.buildUI присваивает MainView объект mainUI.Поэтому каждый раз, когда вы проходите итерацию цикла, вы меняете mainUI.В конце mainUI будет только последней итерацией этого цикла.Не уверен, что это ваша проблема, но это проблема.[РЕДАКТИРОВАТЬ]Отличное руководство по Singleton для Flex SDK Часть 1 часть 2 Немного хорошего письма на чистых синглетонах AS3.

0 голосов
/ 07 марта 2012

Я бы начал все с нуля, так как ваши XML-данные неправильно отформатированы.

ваш XML должен выглядеть примерно так:

<MainProject>
<MainUI>
    <Thumbnail Name="Spring">
        <Destination Name="Spring" Price="99" ratingPath="images/SP1/SP1rating.png" />
    </Thumbnail>

    <Thumbnail Name="Winter">
        <Destination Name="Winter" Price="152" ratingPath="images/SP1/SP2rating.png" />
    </Thumbnail>
</MainUI>
</MainProject>

Тогда на вашей сцене должна быть следующая структура.Эти мувиклипы должны быть пустыми и уже размещены внутри вашей сцены с именем экземпляра.

Stage
    MenuUI MovieClip
        ThumbNail1 MovieClip <- feed it thumbnail from the XML
        ThumbNail2 MovieClip <- feed it thumbnail from the XML
        ThumbNail3 MovieClip <- feed it thumbnail from the XML
        ThumbNail4 MovieClip <- feed it thumbnail from the XML

Это может быть слишком расплывчато, просто скажите мне, если вам нужно больше деталей.

Надеюсь, этопомогает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...