Хонич А.
Как самому создать трехмерную игру
стр. 227

Функция ShotWithBullet.

Зачем нам нужно значение CountUseFire? Оно используется при выстреле из пистолета и пулемета. Если, например, при выстреле из пулемета стрелять не отпу ская курок, то пули будут все время попадать в разные места (а не в одну точку). При этом, как обычно, использу ется функция ShotWithBullet. Вызов ее в данном случае будет выглядеть таким образом:

ShotWithBullet(t, m->CountUseFire == 0);

Здесь второй параметр не будет равен нулю, если выстрел не первый. Это говорит функции ShotWithBullet, что необходимо вводить случайную коррекцию угла прицеливания.

В функции CheckToNextFire мы вторично столкну лись с вызовом функции CheckAmmo WhileFire. В данном случае, если после очередного выстрела патронов больше не осталось, она сменяет оружие на более подходящее в данной ситу ации. Исходный текст данной функции мы приводить здесь не будем. Дело в том, что она очень проста и, кроме того, принцип смены оружия можно организовать как угодно, и это скажется только на удобстве игры, но на ее работоспособности - нисколько. Так что “флаг вам в руки”.

Функция RemoveWeapon.

Данная функция вызывается, когда необходимо убрать оружие. Это может произойти в двух случаях: при смене ору жия и в случае смерти игрока.

Новости
Авторы Hellblade: Senua’s Sacrifice удивлены количеству игроков на ПК
В октябре прошлого года студия Ninja Theory рассказала, что продажи Hellblade: Senua's Sacrifice оказались выше, чем ожидали сами разработчики, а уже через месяц они достигли полумиллиона копий.
Хождение по Аду в Agony отнимет у игроков 12 часов
Напомним, что Agony поступит в продажу на PC, PS4 и Xbox One 29 мая. После релиза игры авторы намерены заняться VR-режимом.