![]() |
MVC, ООП, AS3 учусь на примере 2D движка
Вложений: 1
Цели:
понять что такое MVC и ООП научиться кодить на AS3 Решение: написать скрипт/проект по следующему ТЗ: Цитата:
mvc/Main.as Код AS3:
Код AS3:
mvc/Model.as Код AS3:
Код AS3:
Код AS3:
Вопросы: как все поняли в AS я новичок, хотел бы, чтобы меня тыкнули носом в мои ошибки (все, кроме физики объекта), и услышать как бы вы реализовали с точки зрения MVC данный проект, какие есть направления MVC и т.п. P. S. "движка" громко сказано =) |
1) Могу пока только сказать, что свойства принято начинать со строчных.
2) Класс Шар у Вас унаследован от sprite и его название говорит, что ЭТО ШАР, а на деле получается, что ЭТО КОНТЕЙНЕР ДЛЯ ШАРА, ведь шар, который является больше _view, у Вас назван _obj. 3) Сами себя инициализируете через сеттеры, хотя в этом нет необходимости. 4) Graphics размазан по всему классу, это тоже не айс. 5) Жуткие названия, пишите лучше полными именами. Добавлено через 1 час 8 минут И модель у Вас выполняет сразу много обязанностей - загружает, рассчитывает, что-то ещё. Это нарушает Принцип единственной обязанности. |
Цитата:
|
1) опять затупил, давно не ООПешил, спасибо
2) ну да, он наследует спрайт чтобы рисовать шар и менять его свойсвтва непосредственно + если будет много таких шаров/экземпляров класса. я так понимаю тут достаточно переменовать в SharBox ? 3) действительно, спасибо. 4) а как подругому? ну скажем на сцене текстовое поле и человек ввел туда цвет. он должен значит изменить и у шара, в мое случае через оболочку класс Shar. 5) вот че тока не ожидал но не этого, вроде и так очень полно пишу, ну в любом случае спасибо. 6) ну да, модель это и должна делать, вот только перересовку я хотел во вьювер отдать в метод UpdateObj, но это геморно. Добавлено через 2 минуты Цитата:
см. 6) пункт ответа. это еще одна причина почему я перересовку не вынес во вьювер. "оч плохо" - очень прошу как можно подробней. спасибо! |
Цитата:
> отскок (вместо него костыль который обнуляет скорость, когда шарик касается "пол" сцены) сначала программировать научись, потом уже разбирайся в паттернах проектирования. иначе заработаешь себе ооп головного мозга. https://ru.wikipedia.org/wiki/KISS_(...6%D0%B8%D0%BF) и архивируй в zip. |
2) Сейчас ещё посмотрел на класс Шар и могу сказать, что посоветовать мне особо нечего из-за того,
что я не понимаю, что означают свойства, могу лишь догадываться. 2) Вы не понимаете, что такое дисплей лист. 2) Вы не понимаете, что значит наследовать и ещё нужно знать, что такое композиция. 6) Нет, она должна объединять работу классов-модулей, но не быть всем сразу и при том одновременно. Напишите, что означают все свойства в классе Шар, я покажу, как будет лучше. Добавлено через 4 минуты Цитата:
Цитата:
Ему не хватает знаний. Добавлено через 16 минут nubideus, а что Вы думаете по поводу модели ТС? |
Gerbert - а в чем собственно резон защищать ТС, если ты даже сам понимаешь, что ему не хватает знаний даже на дисплейЛист, самое основное и первое в АС! Нужно нагло отправлять читать книжки и все тут. Я лично замечаю небольшую болезнь полубога.
|
Цитата:
> а что Вы думаете Код AS3:
Цитата:
private var _X:Number; private var _Y:Number; private var _M:Number; // масса private var _E:Number; // эластичность private var _R:uint; // радиус private var _C:uint; // цвет private var _V:Number=1; // наверное скорость private var _A:Number; // хз, прозрачность поди, если цвет есть private var _direc:Number=1.5*Math.PI; // направление |
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
private var _A:Number; // в школе буквой a обозначали ускорение. Цитата:
Цитата:
Цитата:
события она не слушает, отображение не занимается (за исключением непосредственного изменения координат), вы имеете ввиду загружать данные (из set.txt) можно в самом контроллере? Цитата:
P.S. мне от вас нужно просто получить знания ГДЕ у меня бред (вот как nubideus вырезал кусок кода и сказал что ***** полное, я понял и исправлюсь), и как сделать правильно, и через 2-3 проекта я буду писать код более приемлемый. Не которые вещи я знаю что бред, но не достаточно знаний языка AS для того чтобы сделать правильно как я считаю, вот немного "костылю" в надежде что вы скажите: "у вас там костыль ***, надо делать так ***". P.S.S. покажите мне человека у которого есть знания и он пишет на форуме вопросы? Иначе по вашей логике всех нужно посылать читать книжку, только после прочтения ваш форум не нужен будет в 99.99% случаев. Всем спасибо, жду ваших ответов, советов и дальнейших обоснованных обсираний моего кода. |
| Часовой пояс GMT +4, время: 20:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.