Game Maker - создание игр | HellRoom Games
Февраль 16, 2025, 16:02:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Выбор одного из двух объектов  (Прочитано 947 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ярик
Активный участник
*****

Репутация: 21
Offline Offline

Награды:
За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Сообщений: 396



« : Май 25, 2021, 09:05:42 »

Проблема такова, есть два объекта Object в комнате.
И когда они друг с другом сталкиваются то вызывается код:

Код:
alarm[0] = irandom_range(30,60);
Code_Execution = true;
other.Code_Execution = false;

И два объекта у друг друга обнулят переменную Code_Execution, как этого избежать.
Code_Execution - переменная отвечает за то что объект будет выполнять код для себя и для чужого
Записан

А че как 2 числа сравнить то это быстрее?
Вот так >? Вот так < ? Или лучше вот так sign(0)
AndrewVideoGames
Главный Модератор
*

Репутация: 821
Offline Offline

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #1 : Май 25, 2021, 11:32:36 »

Ну ты конечно приколист) Чтобы чего-то подобного избежать нужно условия ставить. Но перед этим стоит понять что вообще задумывается делать и зачем вообще все эти переменные нужны, если можно просто завести таймер if (alarm[0] == -1) { alarm[0] = room_speed * irandom_range(1, 2); }
Записан
ярик
Активный участник
*****

Репутация: 21
Offline Offline

Награды:
За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Сообщений: 396



« Ответ #2 : Май 25, 2021, 15:03:23 »

Мне интересно стало просто.
Представим ситуацию, два мальчика спорят друг с другом, кто будет играть с мячом?
И как между ними определить кто будет играть мячом.

У меня в голове только появился такая магия:
Создаем Object_Boy (будут наши мальчики, их ставим двоя в комнату), Object_Inf (будет нашей судьей, ставим его в комнату)

Код:
Object_Boy, столкновение с объектом Object_Boy

Object_Inf.Count += 1
Object_Inf.Mass[Object_Inf.Count] = other.id

Код:
Object_Inf

CREATE
Count = -1
Mass[0] = 0
Mass[1] = 0

STEP
if Count != -1
{
    Count = irandom(1)
    with (Mass[Count])
    {
        instance_destroy()
    }
    Count = -1
}

И два мальчика будут говорить нашему судье "чей мяч?".

Код говно? Или есть получше способ реализации этого?
Записан

А че как 2 числа сравнить то это быстрее?
Вот так >? Вот так < ? Или лучше вот так sign(0)
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #3 : Май 25, 2021, 15:18:12 »

И два мальчика будут говорить нашему судье "чей мяч?".

Код говно? Или есть получше способ реализации этого?
Например, тот, у кого ID больше, может определять, а тот, у кого меньше, просто ждёт.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.129 секунд. Запросов: 28.