Автор Тема: Стрельба в TDS  (Прочитано 4105 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Февраль 12, 2012, 19:47:52 pm
Прочитано 4105 раз

Ru_lon

  • Активный участник

  • Оффлайн
  • ****

  • 390
  • Репутация:
    9
    • Просмотр профиля
В этой статье(уроке) по Game Maker мы научимся создавать стрельбу(в данном примере из дробовика).
И так начнем, что нам понадобится Game Maker 8 Pro желательно(!в принципе это не важно, но главное Pro версию) Эта система рассматривалась в примере "Создание Шутера TDS." Но здесь я расскажу все до мелочей.
Приступим.
Шаг №1
У ГГ в  create создаем переменные.
global.bullet=30; /// кол-во патрон
canshoot=true // можно ли стрелять(для чего это нужно? Это нужно для интервала между выстрелами
Шаг №2
В alarm[0] пишем
canshoot=true // то есть можно стрелять
Шаг №3
При нажатии кнопки огонь пишем самое главное, а именно
if (global.bullet>0) // первым делом проверим есть ли у нас патроны
{
 if (canshoot) // теперь проверим можно ли стрелять
 {
  global.bullet-=1;  /// отнимаем -1 патрон при выстреле
  sound_play(sound1) // проигрываем звук стрельбы
  canshoot=false; // даем понять, что после одного выстрела нам нельзя стрелять определенное время
  alarm[0]=20; /// время паузы 20 шагов
  var i,newbullet; /// создаем переменную newbullet
  for (i=0;i<5;i+=1) /// кол-во создаваемых патрон
  {
   newbullet = instance_create(x,y,o_bullet); /// создаем объект пули и записываем это действие в переменную newbullet
   newbullet.direction = image_angle + irandom_range(-15, 15); // направление полета пули и разлет пули
   newbullet.image_angle = newbullet.direction; // направление спрайта пули = направлению объекта пули
   newbullet.sp=15; // скорость пули
   newbullet.speed = 0.5;  /// так надо =)

  }
}
}
Все мы сделали стрельбу, но нам нужно обратиться к объекту пули. Делаем это
Шаг №4
В Step у пули пишем move_contact_solid(image_angle,sp) // с помощью этой функции мы создали мгновенную пулю, которая не будет при большой скорости пролетать сквозь твердые объекты  Обязательно в Stepe  у игрока нужно написать image_angle=point_direction(x,y,mouse_x,mouse_y); /// игрок смотрит на курсор  Урок закончен. Есть вопросы задавайте в теме.
« Последнее редактирование: Февраль 12, 2012, 19:49:49 pm от Ru_lon »
Сильное государство угнетает нас, при слабом государстве погибаем мы сами.