ГлавнаяРегистрацияВход Пятница
17.11.2017
23:57
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Уроки по СС [13]
Статьи по СС [2]
Документация по СС [4]
Мини-чат
Наш опрос
Нужен ли данный Сайт?
Всего ответов: 404
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
 Обучение 
Главная » Статьи » Construct Classic » Уроки по СС

Создание Arcanoid игры
В этом уроке вы узнаете, как сделать Arcanoid игру.
Нам понадобятся вот эти спрайты:
Игрок
Мячик
Блок 1
Блок 2
Бонус 1
Бонус 2
Фон
Пуля

Названия объектов:
Сначала вставим все эти объекты в игру. Фон вставьте как объект TiledBackground, а все остальные спрайты как Sprite. Дадим имена нашим объектам:
Фон- TiledBackground(пусть так и останется)
Игрок- Player;
Мячик- Ball;
Блок 1-Block1;
Блок 2-Block2;
Пуля- Bullet;
Бонус 1- Bonus1;
Бонус 2- Bonus2.
Фон:
Сделаем размер нашей игры 800x600 пикселей:

А затем нажмите кнопку Properties.

Давайте создадим 3 слоя, и назовём их вот так:

На самый первый слой «Background» переместим наш фон и поставим ему вот такие настройки:

Прозрачность (Opacity) ставим на 50%, что бы фон был красивее.

Расстановка объектов:
Для удобства размещения объектов надо включить и настроить сетку. Поставьте галочку на Snap-to moving.

Нажмите на кнопку Edit grid.

Разместите блоки, как хотите, но для примера я разместил так:

Разместите спрайты игрока и мяч примерно вот так:

Настройки игрока:

Настройки мяча:

Конечно, не обязательно мяч, ставить именно под такими позициями. Так как потом мы «привяжем» его к игроку.
Мяч:
Давайте назначим нашему мячу, поведение Ball(второе поведение):

И сделаем вот такие настройки:

Игрок:
Давайте добавим игроку image point «ball».


К этой точке будет крепиться наш мяч, до запуска.
А теперь добавим игроку приватную переменную «start», которая будет отвечать за запуск мяча, то есть, если переменная «start» равна 0, то мяч не запущен, если 1, то он в воздухе (запущен).
Давайте создадим событие, которое будет отвечать за то, что бы герой всегда принимал позицию X равной мышке, но при этом сам герой не должен заходить за экран, а для этого поставим два ограничителя по бокам уровня на слое «Og»:

Настройки ограничителей:


А теперь создадим событие:
Mouse and keyword-> Mouse is over object, объект Sprite5 (инвертируйте его ).
И второе событие:
Mouse and keyword-> Mouse is over object, объект TiledBackground.
Должно получиться вот так:

Действие:
Player-> Set X, X =mousex.

Блоки:
У нас есть 2 блока(Block1 и Block2). Давайте объединим их в одну семью «Blue». Для этого выделим один Block1 и один Block2. После того как вы их выделили, вы увидите вот такие настройки:

Заходим во вкладку Groups, а в ней во вкладку Families

Нажмите кнопку Add, и выберите семью Blue. Для чего мы это сделали, вы узнаете позже.

Бонус 1,2:
1 бонус- это добавление двух мячей. То есть после подбора этого бонуса наш мяч должен расстроиться.
2 бонус- это пистолет. То есть после подбора этого бонуса, мы сможем стрелять.
Сделаем так, что бы всегда бонусы падали вниз:
System-> Always,
Действие:
Bonus1-> Set y, y= Bonus1.Y +4(это число можете сделать любым, чем больше число, тем с большей скоростью будет падать бонус).
Действие 2:
Bonus2-> Set y, y= Bonus2.Y +4

Для первого бонуса, нам понадобится дополнительный, фальшивый мяч. Для этого копируем наш мяч(Ctrl + C), и вставляем его клон:

Настройте фальшивый мяч вот так:

Filter можете поставить любым. Он нужен для того, что бы различать настоящий и поддельный мяч.
Событие:
Player-> on collision with another object, объект Bonus1
Действия:
System -> Create object relative to object.

Действие 2:
FBall-> Set angle, angle= random (360)
Теперь скопируйте 1 и 2 действия и вставьте их.
Действие 5:
Bonus1> Destroy.

Событие уничтожение фальшивого мяча:
FBall-> Object is outside layout
Действие:
FBall-> Destroy

Теперь объединим Fball и Ball в семью Friendly.
Вернёмся к блокам.
Блоки:
Давайте добавим к блокам приватную переменную «bonus».


Создаём вот такие событие:
Friendly-> on collision with another object, объект Block1
Действие:
Block-> Set value, value= random (100)
Теперь добавим объект Particles с такими настройками:

Texture:

Действие 2:
Block1-> spawn another object, объект Particles, Layer= game (слово game возьмите в двойные кавычки)
Создайте глобальную переменную «score».
Действие 3:
System-> add to value, score, value=50
Действие 4:
Block1-> Destroy.
Подсобытия и действия к ним попробуйте сделать вот так:

После того как это сделаете, клонируйте 5 событие и вставьте, а затем замените Block1 на Block2, и замените 3 действие 8 события как показано на картинке:

Текст:
Добавьте текст на слое Text. Добавьте 2 глобальные переменные: «life» и «bullet».
Теперь ко второму действию(Always), добавьте действие:
Text-> Set text, text="Жизни: " & global('life') &newline& "Очки: " & global('score') &newline& "Патроны: " & global('bullet')
Запуск и пропуск мяча:
Сейчас мы сделаем запуск мяча.
Событие:
Player1-> Compare private variable, переменная «start», равна 0.
Действие:
Ball-> Set position to another object, объект игрока, а image point= ball (возьмите в двойные скобки)
Действие 2:
Ball-> Set speed (вкладка ball), speed=0
И вот такое подсобытие с такими действиями:

Постарайтесь сделать вот это событие:

Событие:
Ball-> Object is outside layout?
Действия:
System-> Subtract, переменная life, значение 1
Ball-> Set position to another object, объект игрока, а image point= ball (возьмите в двойные скобки)
Player-> Set value, start, value=0
Fball-> Destroy
Бонус 2:
Создаем 2 image point’а игроку:


Теперь вам предстоит использовать то, чему вы научились в этом уроке. Это будет несложно:

Переход на следующий уровень:
Создаем событие:
System-> Compare. Value1= Blue. count, Comparison= lower or equal, Value2=0.
Действие:
System-> Next layout.

Выключение игры:
Событие:
System-> Compare global variable, life, less or equal 0.
Действие:
System-> Close.

Скачать исходник
Категория: Уроки по СС | Добавил: danik (05.12.2011)
Просмотров: 2864 | Теги: арканоид, Arcanoid, уроки | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вход на сайт
Поиск

thevic.ru © 2017Хостинг от uCoz