Понедельник, 07 Октября 2024, 06:23

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
LunarPixelДата: Пятница, 14 Октября 2011, 19:32 | Сообщение # 2461
старожил
Сейчас нет на сайте
Не должно быть такого, если переменная не глобальная, то она относится к каждому экземпляру объекта отдельно. В чем то другом накосячил. smile

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 то выводишь?! В нем проблема тогда однозначно. smile

GAZ777Дата: Пятница, 14 Октября 2011, 19:44 | Сообщение # 2464
участник
Сейчас нет на сайте
в DRAW - with o_monstr {
draw_text(x -0, y - 25, string(o_monstr.mhealth));
}


<-- КЛИКНИ! Ты поможешь ему вырасти.



Invincible Tanks
LunarPixelДата: Пятница, 14 Октября 2011, 19:55 | Сообщение # 2465
старожил
Сейчас нет на сайте
Где этот Draw находится? Хотя он по любому у тебя выводит только одну переменную, от одного явно указанного объекта.
Если прописать у каждого монстра в Draw:

draw_text(x -0, y - 25, string(mhealth));

то над головой у каждого монстра будут только его жизни. smile


GAZ777Дата: Пятница, 14 Октября 2011, 19:59 | Сообщение # 2466
участник
Сейчас нет на сайте
LunarPixel, draw в отдельном объекте. если в самом враге draw поставить, то он становится невидимкой, и по полю бегают одни цифры.

<-- КЛИКНИ! Ты поможешь ему вырасти.



Invincible Tanks
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));


GAZ777Дата: Воскресенье, 16 Октября 2011, 13:09 | Сообщение # 2468
участник
Сейчас нет на сайте
LunarPixel, и как всегда я тебе обязан. happy всё вышло! smile +

Добавлено (16.10.2011, 13:09)
---------------------------------------------
Извените за несообразительность. Я тупо забыл галочку на Относительно поставить.


<-- КЛИКНИ! Ты поможешь ему вырасти.



Invincible Tanks
УайльдДата: Воскресенье, 16 Октября 2011, 14:01 | Сообщение # 2469
участник
Сейчас нет на сайте
При рестарте комната зависает... что делать?

GAZ777Дата: Воскресенье, 16 Октября 2011, 15:12 | Сообщение # 2470
участник
Сейчас нет на сайте
Уайльд, разрешение пониже сделать

<-- КЛИКНИ! Ты поможешь ему вырасти.



Invincible Tanks
GameMixДата: Воскресенье, 16 Октября 2011, 15:52 | Сообщение # 2471
старожил
Сейчас нет на сайте
Уайльд, причин много может быть. Если используешь циклы, проверь, верно ли записано условие цикла smile

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, клиент заполнил поля для регистрации, указал логин и пароль, нажал на кнопку "Зарегистрироваться" и при нажатии отправил данные серверу. Сервер принял данные и записал их в текстовый документ. Всё просто. Принцип тот же, что с передачей любой информации, только обработка информации другая. Если ты можешь передавать координаты игрока на сервер, то сможешь передать логин с паролем. smile

фурилонДата: Среда, 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 пикселей вверх. При попадании героя в эту область, произойдет действие.

Повторюсь, это универсальный вариант, но в зависимости от ситуации можно придумать и другие, более подходящие решения. smile

Добавлено (19.10.2011, 11:39)
---------------------------------------------

Quote (фурилон)
Не работают.

накосячил значит где то smile

if distance_to_object(obj_pulemet)<20
if keyboard_check(vk_space)
{
стреляем
}


фурилонДата: Среда, 19 Октября 2011, 12:00 | Сообщение # 2480
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
Всё. Заработало. Пришлось просить помощь кота разобраться в коде)


Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон


Сообщение отредактировал фурилон - Среда, 19 Октября 2011, 12:10
Поиск:

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