вторник, 26 января 2010 г.

Mo'Minis Russian Tutorial: Урок 4. Логика forever I

   И снова вы читаете Mo'Minis Russian Tutorial - один из первых русскоязычных туториалов. Пришло время "оживить" игру, добавить логику! Этому и будут посвящены несколько ближайших уроков, объединённых под общим названием "Логика forever".
Создание логики
   В Mo'Minis логика создаётся тремя разными способами, взаимно дополняющими друг друга. Это:
  1. Sprite (собственная логика спрайта)
  2. Capatbility (поведение)
  3. Controller (контроллер)
   Эти способы взаимно дополняют друг друга. Как правило, используются все вместе, т.к каждый хорош по-своему. На протяжении следующих уроков мы более подробно познакомимся с ними, а пока - краткое описание
  • Sprite - это собственная логика спрайта. Удобна, если совершаются манипуляции над кокретным спрайтом, хотя может пригодиться и для другого.
  • Capatbility (поведение) - это игровой объект, прикрепляемый к одному или нескольким спрайтам.  Удобен, если имеются несколько спрайтов, над которыми надо совершить одинаковые действия
  • Controller (контроллер) - игровой объект, прикрепляемый к комнате (Room). Удобен для совершения действий над разными спрайтами.
   Все эти способы будут рассмотрены в ходе ближайших уроков. На этом уроке мы рассмотрим базовые манипуляции через Sprite
Начнём!
   Для манипуляций с логикой в спрайте есть кнопка Logic на левой части рабочей области.


   Нажмите на неё и перед вами откроется область разработки логики

   Сама область делится на несколько частей:
  • Events - область, где сосредоточены основные события (они же Evevt'ы). В их число входит и Keypad, который будет рассматриваться сегодня. Распологается в левой части рабочей области.
  • В правой части располагается область без названия. В ней отображаются выбранные Event'ы.
  • В нижней части есть область Actions. По умолчанию она пуста. Содержимое в ней появляется только при выборе какого-либо из уже настроенных событий.
   Итак, приступим. Наша задача - заставить рыбку двигаться. Для этого предназначен Event "Keypad". Нажмите на него.

   В этом окне, которое появилось по нажатии Keypad настраивается это событие. Параметры следующие: (перечисление сверху вниз)
  1.   Key State - состояние клавиши. Делится на:
  • Key Down Occuring - когда клавиша держится нажатой
  • Key Up - клавиша отпущена
  • Key Down - клавиша нажата
 2.  Button - соответственно, над какой клавишей было совершено действие. Клавиши обозначены так, как они обозначены в большинстве мобильных телефонов (стрелки, кнопки цифровой клавиатуры и т.д)
    Нажмите на стрелочку, которая указывает вверх, затем выберите "Key down" и нажмите OK. Обратите внимание, как изменилась рабочая область.

   Особенно изменилась нижняя панель. Теперь в ней можно выбрать действие, которое будет ассоциироваться с только что созданным событием.
   Как вы заметили, нижняя панель довольно мала, и комфортно работать с ней трудно. Вы можете потянуть за заголовок панели вверх, чтобы увеличить её размеры.
   Также обратите внимание на строку поиска в левом нижнем углу. Она предназначена для фильтрации действий. Введите "Set speed" и выберите действие с таким же названием.

   Здесь выставляются параметры действия. В данном случае это Reference (к чему применять) Direction (направление) и Size (в данном случае скорость).
   Для выставления параметра Direction используется синяя полоска. Выставите её так, чтобы число над ней равнялось 90. В поле Size введите 25  и нажмите OK. Теперь самое интересное.

   Это то, что должно было у вас получиться.
   Теперь выделите мышкой событие "UP, KeyDown" и последовательно нажмите комбинацию клавиш Ctrl-C , Ctrl-V .
   У вас выскочит такой вопрос:
                                  













 

  Нажмите "Да", и перед вами откроется уже знакомое окно конфигурации события. Нажмите там на стрелочку влево и нажмите OK.
   Теперь выделите событие мышкой, выберите действие (внизу) и там смените направление полоски так, чтобы она "смотрела" влево.
  Теперь проделайте аналогично ещё два раза (выбирая стрелочки "вниз" и "вправо" и соответсвенно поворачивая стрелочку).
   Всё! Теперь ваша рыбка может передвигаться во всех направлениях. Правда пока она не может остановиться и выплывает за пределы экрана. Как решить эту проблему - вы узнаете в следующем уроке. А пока - наслаждайтесь!
Happy End
   Рыбка двигается, мы счастливы :) Теперь уже можно думать о более грандиозных планах. Встретимся на следующем уроке!

14 комментариев:

  1. "Какая сегодня дата ? Январь 26? Призначить международным праздником - Праздник четвертого урока!",- выписка из заседания G8.

    ОтветитьУдалить
  2. да...боюсь мои мозги не затупеют от простоты конструктора :)

    ОтветитьУдалить
  3. У меня чет не так работает логика направлений. Если выберу "нажать и держать", просто "нажать" или "отпущена" все равно при 1 нажатии рыбка сама плывет в ту сторону, куда нажимал.

    ОтветитьУдалить
  4. Начинающий, попробуйте скачайте пример из урока. Там всё работает.

    ОтветитьУдалить
  5. Анонимный3 июля 2010 г., 20:13

    Не знаю, может я совсем тупой, но...
    Где найти http://itrash.ru/idb/1191/omominis30.png
    ?!
    Всё перетыкал, нет таких пунктов в рабочей части...

    ОтветитьУдалить
  6. Анонимный3 июля 2010 г., 20:15

    А всё, разобрался :)

    ОтветитьУдалить
  7. у меня тоже так! если я выбераю "нажать и держать",просто "нажать" или "отпущена" всеровно при одном нажатии рыбка сама плывет в ту сторону,куда нажимал!
    а пример урока где???
    помогите! плиииз!

    ОтветитьУдалить
  8. Цитата: Для манипуляций с логикой в спрайте есть кнопка Logic на левой части рабочей области.
    Вопрос: Где найти эту кнопку Logic?

    ОтветитьУдалить
  9. Вопрос: Где найти эту кнопку Logic?
    Ответ: В Game Objects выбери вкладку Sprites (с человечком) И дважды нажми на спрайт рыбки в открывшемся окне будут вкладки, там найдёшь Logic
    -----------------
    Вопрос:у меня тоже так! если я выбераю "нажать и держать",просто "нажать" или "отпущена" всеровно при одном нажатии рыбка сама плывет в ту сторону,куда нажимал!
    Ответ: При нажатии кнопок направления величина скорости равняется 25. Для того что бы рыбка останавливалась нужно в Keypad спрайта рыбки добавить ещё кнопки направления (влево, право,вверх и вниз)с параметром Key Up только в Set speed выставите параметр Size на 0(ноль)
    Принцип такой - нажали кнопку в право скорость вправо увеличилась на 25, отпустили кнопку вправо скорость упала да 0 т.е. рыбка остановилась ^.^

    ОтветитьУдалить
  10. всё сделал как в уроке(даже видео уроки смотрел)но рыбка не двигается,что может быть не так?

    ОтветитьУдалить
  11. Как перекинуть игру на телефон? LG GX50?

    ОтветитьУдалить
  12. Фсе как в уроке, а рыба и не думает двигаться :(

    ОтветитьУдалить