Воскресенье, 13 Октября 2024, 19:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как менять оружие?
karambamanДата: Понедельник, 09 Января 2012, 21:28 | Сообщение # 1
участник
Сейчас нет на сайте
Подскажите как менять оружие когда сталкиваешся с ним?И если это например какое-то холодное оружие,то когда нажимаеш на ЛКМ оно не стреляет,а воспроизводит анимацию?Желательно кодом или исходником.



Сообщение отредактировал karambaman - Понедельник, 09 Января 2012, 21:30
MR-IgrodelДата: Вторник, 10 Января 2012, 07:31 | Сообщение # 2
GML скриптор
Сейчас нет на сайте
нужны спрайты игрока.
например,
s_player (просто, без оружия)
s_player_pistol
s_player_ak
s_player_knife (в котором, допустим, три картинки, дабы представляющие из себя анимацию)

в объект игрока пихаем спрайт s_player
в Create
Code

image_speed=0 // чтобы анимация сама по себе не воспроизводилась
pistoltrue=0 //проверка пистолета
aktrue=0 //проверка АК
knifetrue=0 //проверка ножа

в Столкновения, например, с пистолетом
Code

pistoltrue=1 //мы нашли пистолет
sprite_index=s_player_pistol //мы поменяли спрайт

В степ
Code

image_speed=0 //ну чтобы уже точно ничего не двигалось. Если дальше и нож не двигается, удаляй эту строку целиком.
if keyboard_check_pressed(ord('1'))  
{sprite_index=s_player} //когда нажимаем на единичку, игрок убирает оружие


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

и отдельно для ножа.
в степ:
Code

if mouse_check_button(mb_left)
{if sprite_index=s_player_knife
{image_speed=1}} //если нажали, начинаем активно мочить всех ножом.
if mouse_check_button_released(mb_left)
{if sprite_index=s_player_knife
{image_speed=0}} //успокаиваемся


вроде всё. если чтото не так, пиши в ЛС, а здесь я потом исходник выложу. ну мало ли кому еще из новичков понадобится smile


Урок взаимодействия джойстика в Game Maker
Как быстро сделать меню и не париться в Game Maker
Robin-LocksleyДата: Вторник, 10 Января 2012, 10:16 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Switch/Case явно удобнее.

GameMaker Easy Menu
FeltikoДата: Вторник, 10 Января 2012, 11:47 | Сообщение # 4
участник
Сейчас нет на сайте
Немного не по теме, по все же, как сделать стрельбу как у пистолета, у ракетницы?Чтобы пулемётом не стрелял.
Вот пример гранатомёта. А лучше объясните как использовать Alarm

step:
Code
//прицеливание
image_angle = point_direction(x,y,mouse_x,mouse_y)
//местонахождения
x = o_player.x
y = o_player.y
//стрельба
if mouse_check_button(mb_left)
{
      instance_create(o_rola.x,o_rola.y, o_rocket)     
}


Сообщение отредактировал Feltiko - Вторник, 10 Января 2012, 11:47
GameMixДата: Вторник, 10 Января 2012, 12:06 | Сообщение # 5
старожил
Сейчас нет на сайте
Feltiko, в событии создания этого же объекта, в котором пишется твой код, пиши:
Code
can_shoot = true; // устанавливаем начальный статус стрельбы. true - можно, false - нельзя

Эта переменная нужна для создания интервала между выстрелами.

Также для интервала нужен тот самый Alarm. Сначала, в step немного отредактируем код:
Code
//прицеливание  
image_angle = point_direction(x,y,mouse_x,mouse_y)  
//местонахождения  
x = o_player.x  
y = o_player.y  
//стрельба
if can_shoot = true // если можно стрелять
   if mouse_check_button(mb_left)  
   {
       instance_create(o_rola.x,o_rola.y, o_rocket); // создаем ракету
       alarm[0] = room_speed*2; // вот тут используем аларм. Устанавливаем интервал стрельбы - раз в 2 секунды. room_speed - скорость комнаты (измеряется в шагах), равна одной секунде.  
       can_shoot = false; // запрещаем стрельбу. Будет разрешена при срабатывании аларма
   }

Добавляем событие Alarm0:
Code
can_shoot = true; // разрешаем стрельбу


Steel Standoff - 2D аркада.
Мои статьи
MR-IgrodelДата: Вторник, 10 Января 2012, 15:31 | Сообщение # 6
GML скриптор
Сейчас нет на сайте
Robin-Locksley, эх, все-таки я не так хорошо GML владею sad

Урок взаимодействия джойстика в Game Maker
Как быстро сделать меню и не париться в Game Maker
karambamanДата: Вторник, 10 Января 2012, 16:27 | Сообщение # 7
участник
Сейчас нет на сайте
MR-Igrodel, а не хочеш ко мне в команду?скайп-karambaman99

NewLangДата: Вторник, 10 Января 2012, 19:03 | Сообщение # 8
#include MegaGame.h
Сейчас нет на сайте
Если через switch делать, то тогда так:
В объекте игрока в Create пишем:
weapon = 0
В Step-е пишем:
switch (weapon)
{
case 1: instance_change(игрок с ножом,2); break;
case 2: instance_change(игрок с пистолетом,2); break;
case 3: instance_change(игрок с базукой ,2); break;
default: exit_event()
}
В столкновении игрока с ножом пишем:
weapon =1
В столкновении игрока с пистолетом пишем:
weapon= 2
В столкновении игрока с ракетницей пишем:
weapon=3

И еще сделай объект игрока без оружия родительским для всех игроков с оружиями.
Если что - обращайся.

P.S: Советую написать этот код т.к. он меньше, соответственно и оптимизированнее игра будет


I'm Lang. NewLang
Изучаю C++


Сообщение отредактировал NewLang - Среда, 11 Января 2012, 07:59
Robin-LocksleyДата: Вторник, 10 Января 2012, 20:31 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Quote (MR-Igrodel)
Robin-Locksley, эх, все-таки я не так хорошо GML владею

В справке все написано, читай и учись.


GameMaker Easy Menu
FadeBakerДата: Среда, 11 Января 2012, 01:05 | Сообщение # 10
JavaSE Game Developer
Сейчас нет на сайте
Quote (NewLang)
switch (weapon)
{
case 1: instance_change(игрок с ножом,2)
case 2: instance_change(игрок с пистолетом,2)
case 3: instance_change(игрок с базукой ,2)
default: exit_event()
}

А break где?!


Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
NewLangДата: Среда, 11 Января 2012, 07:58 | Сообщение # 11
#include MegaGame.h
Сейчас нет на сайте
Quote (Fade)
А break где?!

а, ну да. забыл че-то


I'm Lang. NewLang
Изучаю C++
Robin-LocksleyДата: Среда, 11 Января 2012, 10:29 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Quote (Fade)
А break где?!

В этом случае не принципиально, можно пропустить. Так же как и оператор default.


GameMaker Easy Menu
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг