Как менять оружие?
|
|
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}} //успокаиваемся
вроде всё. если чтото не так, пиши в ЛС, а здесь я потом исходник выложу. ну мало ли кому еще из новичков понадобится
Урок взаимодействия джойстика в 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 владею
Урок взаимодействия джойстика в 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
|
|
| |