Вопрос - Ответ (Game Maker)
| |
LunarPixel | Дата: Пятница, 14 Октября 2011, 19:32 | Сообщение # 2461 |
старожил
Сейчас нет на сайте
| Не должно быть такого, если переменная не глобальная, то она относится к каждому экземпляру объекта отдельно. В чем то другом накосячил.
|
|
| |
GAZ777 | Дата: Пятница, 14 Октября 2011, 19:40 | Сообщение # 2462 |
участник
Сейчас нет на сайте
| LunarPixel, но когда убью первого, то у второго показывает уже 100 жизней, как надо. может проблема в draw mhealth? Добавлено (14.10.2011, 19:40) --------------------------------------------- вот всё, что есть в Enemy. CREATE - mhealth=100. столнкновение с O_BULLET - mhealth-=30. STEP - if mhealth<=0 {instance_destroy()}
<-- КЛИКНИ! Ты поможешь ему вырасти.
Invincible Tanks
|
|
| |
LunarPixel | Дата: Пятница, 14 Октября 2011, 19:42 | Сообщение # 2463 |
старожил
Сейчас нет на сайте
| GAZ777, ну так а что ты в draw то выводишь?! В нем проблема тогда однозначно.
|
|
| | |
LunarPixel | Дата: Пятница, 14 Октября 2011, 19:55 | Сообщение # 2465 |
старожил
Сейчас нет на сайте
| Где этот Draw находится? Хотя он по любому у тебя выводит только одну переменную, от одного явно указанного объекта. Если прописать у каждого монстра в Draw:
draw_text(x -0, y - 25, string(mhealth));
то над головой у каждого монстра будут только его жизни.
|
|
| | |
LunarPixel | Дата: Пятница, 14 Октября 2011, 20:02 | Сообщение # 2467 |
старожил
Сейчас нет на сайте
| GAZ777, отрисовывай спрайт самого врага в draw. Через draw_sprite.
draw_sprite(spr_vrag,-1,x,y); draw_text(x -0, y - 25, string(mhealth));
|
|
| | |
Уайльд | Дата: Воскресенье, 16 Октября 2011, 14:01 | Сообщение # 2469 |
участник
Сейчас нет на сайте
| При рестарте комната зависает... что делать?
|
|
| | |
GameMix | Дата: Воскресенье, 16 Октября 2011, 15:52 | Сообщение # 2471 |
старожил
Сейчас нет на сайте
| Уайльд, причин много может быть. Если используешь циклы, проверь, верно ли записано условие цикла
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
фурилон | Дата: Вторник, 18 Октября 2011, 21:11 | Сообщение # 2472 |
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
| Как в платформере сделать взаимодействие объектов различными, в зависимости с каких сторон эти объекты соприкасаются? Самый банальный пример, что бы было понятнее: ГГ находится между двумя одинаковыми платформами. Но с нижней он не падает, а на верхнюю может запрыгнуть снизу насквозь. И ещё, для большего понимания то, что именно мне надо: ГГ должен подниматься в нужный момент вертикально вверх. Если у ГГ в столкновении с платформой стоит "(v)speed=0" для того, что бы ГГ не падал "в текстуры" и спокойно ходил по платформе, , то ГГ не поднимится, пока мы не нажмём вправо или влево. Если убрать эти "скорости на 0" и сделать другое удержание на платформе, то когда ГГ поднимается- уходит дальше "в текстуры" платформы которая выше него. Надеюсь понятно объяснил?)Добавлено (18.10.2011, 21:11) --------------------------------------------- И ещё, извиняюсь, вопрос. Как сделать, что бы функция ГГ, которая активируется с помощью нажатия клавиши, могла работать только при столкновении с др. объектом (находясь только у объекта) Например: ГГ может выстрелить на клавишу... ну пусть на пробел. Но только тогда, когда рядом есть пулемёт, или ещё чего.
Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
|
|
| |
Anthem | Дата: Вторник, 18 Октября 2011, 21:32 | Сообщение # 2473 |
Д'Артаньян
Сейчас нет на сайте
| о_О Это же проверка объекта: place_meeting(x,y,obj)
Текстовый контент для вашей игры (бесплатно) Сценарист, геймдизайнер для Вашей игры
|
|
| |
fack3637363 | Дата: Среда, 19 Октября 2011, 00:01 | Сообщение # 2474 |
постоянный участник
Сейчас нет на сайте
| В общем такая проблема, сделал регистрацию в игре (39dll), после создания аккаунта в клиенте, создается текстовый файл с базой зарегистрированных аккаунтов, но проблема в том что этот файл создается у клиента, и он может его прочесть легко, как сделать чтобы эта база создавалась в папке с сервером?(хотя вся махинация с регой происходит в клиенте)
|
|
| |
LunarPixel | Дата: Среда, 19 Октября 2011, 07:20 | Сообщение # 2475 |
старожил
Сейчас нет на сайте
| fack3637363, клиент заполнил поля для регистрации, указал логин и пароль, нажал на кнопку "Зарегистрироваться" и при нажатии отправил данные серверу. Сервер принял данные и записал их в текстовый документ. Всё просто. Принцип тот же, что с передачей любой информации, только обработка информации другая. Если ты можешь передавать координаты игрока на сервер, то сможешь передать логин с паролем.
|
|
| |
фурилон | Дата: Среда, 19 Октября 2011, 11:06 | Сообщение # 2476 |
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
| Quote (фурилон) Как в платформере сделать взаимодействие объектов различными, в зависимости с каких сторон эти объекты соприкасаются? Самый банальный пример, что бы было понятнее: ГГ находится между двумя одинаковыми платформами. Но с нижней он не падает, а на верхнюю может запрыгнуть снизу насквозь. И ещё, для большего понимания то, что именно мне надо: ГГ должен подниматься в нужный момент вертикально вверх. Если у ГГ в столкновении с платформой стоит "(v)speed=0" для того, что бы ГГ не падал "в текстуры" и спокойно ходил по платформе, , то ГГ не поднимится, пока мы не нажмём вправо или влево. Если убрать эти "скорости на 0" и сделать другое удержание на платформе, то когда ГГ поднимается- уходит дальше "в текстуры" платформы которая выше него. Надеюсь понятно объяснил?) Добавлено (18.10.2011, 21:11) --------------------------------------------- И ещё, извиняюсь, вопрос. Как сделать, что бы функция ГГ, которая активируется с помощью нажатия клавиши, могла работать только при столкновении с др. объектом (находясь только у объекта) Например: ГГ может выстрелить на клавишу... ну пусть на пробел. Но только тогда, когда рядом есть пулемёт, или ещё чего.
И всё же, ребят?
Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
|
|
| |
LunarPixel | Дата: Среда, 19 Октября 2011, 11:19 | Сообщение # 2477 |
старожил
Сейчас нет на сайте
| Quote (фурилон) Как сделать, что бы функция ГГ, которая активируется с помощью нажатия клавиши, могла работать только при столкновении с др. объектом (находясь только у объекта) Например: ГГ может выстрелить на клавишу... ну пусть на пробел. Но только тогда, когда рядом есть пулемёт, или ещё чего.
if distance_to_object(obj_pulemet)<20 или if place_meeting(x,y,obj_pulemet) или if collision_rectengl(......obj_pulemet....)
Quote (фурилон) Как в платформере сделать взаимодействие объектов различными, в зависимости с каких сторон эти объекты соприкасаются?
можно через тот же collision_rectengl или другой collision. Цепляешь этот прямоугольник столкновений к нужной части объекта и при соприкосновении с ним происходит то или иное действие. Ну это более менее универсальный вариант, а вообще, в зависимости от ситуации можно и другими способами сделать.
|
|
| |
фурилон | Дата: Среда, 19 Октября 2011, 11:34 | Сообщение # 2478 |
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
| Quote (LunarPixel) if distance_to_object(obj_pulemet)<20 или if place_meeting(x,y,obj_pulemet) или if collision_rectengl(......obj_pulemet....)
Не работают.
Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
|
|
| |
LunarPixel | Дата: Среда, 19 Октября 2011, 11:39 | Сообщение # 2479 |
старожил
Сейчас нет на сайте
| Допустим есть у нас объект-блок размером 32х32. Нужно проверить, столкнулся ли с ним герой СВЕРХУ. В объект-блок пишешь в step:
if collision_rectangle(x,y,x+32,y-5,obj_hero,0,0) //если в указанных координатах относительно блока произойдет столкновение с героем {Действия}
Таким образом над кубиком появится область проверки коллизий, выступающая на 5 пикселей вверх. При попадании героя в эту область, произойдет действие.
Повторюсь, это универсальный вариант, но в зависимости от ситуации можно придумать и другие, более подходящие решения. Добавлено (19.10.2011, 11:39) ---------------------------------------------
Quote (фурилон) Не работают. накосячил значит где то
if distance_to_object(obj_pulemet)<20 if keyboard_check(vk_space) { стреляем }
|
|
| |
фурилон | Дата: Среда, 19 Октября 2011, 12:00 | Сообщение # 2480 |
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
| Всё. Заработало. Пришлось просить помощь кота разобраться в коде)
Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
Сообщение отредактировал фурилон - Среда, 19 Октября 2011, 12:10 |
|
| |
|