Вторник, 19 Ноября 2024, 11:47

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
stalker5889Дата: Четверг, 27 Июня 2013, 21:39 | Сообщение # 4001
Свободный игродел
Сейчас нет на сайте
Krosos, лог ошибки какой?

KrososДата: Четверг, 27 Июня 2013, 22:06 | Сообщение # 4002
постоянный участник
Сейчас нет на сайте
Ошибки нету , просто скрипт не срабатывает.
Возможно не создается список или он не заносится или не удается сравнить число с переменной.
Но в скрипте у меня все в порядке , проблемы могут заключаться только в тех строках.
ds_list_add(global.turn,UnitSpeed[O] - работает точно , потому что вместе с ним срабатывает и переменная(Ну я могу ее увидеть через Draw)
if UnitSpeed[O]=ds_list_find_value(global.turn,1){global.Unit[O]=1 } - не срабатывает , переменная global.Unit[O]=1 не работает.
(Через клавиши изменял эту переменную и она оказалась правильной, значит с ней все должно быть в порядке)
global.turn=ds_list_create()-создается в другом объекте в Create , возможно и является проблемой
ds_list_find_value(global.turn,1)- Draw говорит , что это число всегда равно нулю , значит возможно в список число не заносится.





Мой проект
Shevron_7Дата: Пятница, 28 Июня 2013, 19:05 | Сообщение # 4003
маньяк-бомбист
Сейчас нет на сайте
Есть два объекта - первый стоит на координатах х = 45, у = -10, а второй х = 45, у = 10. При нажатии на объект что находится на координате (45;10) происходит создания других объектов, а при нажатии на второй той же самый объект но из координатами (45;-10) создание не происходит wacko в чем проблема???

TEST =>
Мои игры:
Kill your brain
Space Conflict
Zombie Day
Bounce PC
Extra ball 2012

Это спасибо в карман не положишь, а в репутацию можно. +1
KrososДата: Воскресенье, 30 Июня 2013, 08:27 | Сообщение # 4004
постоянный участник
Сейчас нет на сайте
Shevron_7, а какой код?
А то не очень понятно...



Добавлено (30.06.2013, 08:27)
---------------------------------------------
Еще одна проблема...
Почему в родитель не добавляет в списки второе число!?
Step: (родитель)
Код
if global.Phase1=1   
{
if UnitSpeed[O]>=100   
{
ds_list_add(global.turn,UnitSpeed[O])
ds_list_add(global.turn2,O)
global.Phase1=0
}
if UnitSpeed[O]<100   
{
UnitSpeed[O]+=D
}
}

В списке я вижу только первое ,а он должен был внести 2 одинаковых числа от двух юнитов так, как у них одинаковое число D и UnitSpeed[O]
(Проблема заключается в том, что юнит 1 очень далеко убегает по скорости от второго , когда скорость у них одинаковая!)





Мой проект


Сообщение отредактировал Krosos - Воскресенье, 30 Июня 2013, 11:30
Sanchez06Дата: Воскресенье, 30 Июня 2013, 11:46 | Сообщение # 4005
участник
Сейчас нет на сайте
Хай всем. Почему при работе функции move_contact_solid объект (патрон) доходит до твердого объекта и останавливается, а событие столкновения не срабатывает? Просто, если противник стоит, то все пули остаются около него.
KrososДата: Воскресенье, 30 Июня 2013, 11:52 | Сообщение # 4006
постоянный участник
Сейчас нет на сайте
Sanchez06, Код или скриншот(Действий), пожалуйста, а то не очень понятно..




Мой проект
Sanchez06Дата: Воскресенье, 30 Июня 2013, 11:56 | Сообщение # 4007
участник
Сейчас нет на сайте
Ну у пули в Step:
Код
move_contact_solid(direction,60);

И при столкновении с твердыми объектами просто добавил кнопку с корзиной, чтобы пулю удаляло. Но если объект неподвижен, как например стена, или просто стоящий на месте враг, то столкновения не происходит, а пуля тормозит.
MasterSamboДата: Воскресенье, 30 Июня 2013, 12:20 | Сообщение # 4008
заслуженный участник
Сейчас нет на сайте
Как сделать игру вроде Bad Piggies? (Вобщем как в той игре, собирать машины из предложенных деталей?)
KrososДата: Воскресенье, 30 Июня 2013, 12:22 | Сообщение # 4009
постоянный участник
Сейчас нет на сайте
Sanchez06, как же я задолбался=)
move_contact_solid(direction,30); - дело в этом коде!
Может попробовать использовать другой код?
Например:
speed=20 //Всегда действующая скорость
direction=0 //Дирекция , можно сделать так direction=point_direction(x,y,mouse_x,mouse_y) -стреляет туда где курсор или direction=player.direction - стреляет туда , куда направлен спрайт игрока (Вроде так , но не уверен)





Мой проект
Sanchez06Дата: Воскресенье, 30 Июня 2013, 12:24 | Сообщение # 4010
участник
Сейчас нет на сайте
arkady, вероятно нужно для этого использовать физический движок. Для каждого типа мотора делаешь свою силу в свою сторону. Ставишь разные материалы. Попробуй ExtremePhysics, может и понравится.

Добавлено (30.06.2013, 12:24)
---------------------------------------------
Krosos, Я выбрал именно move_contact_solid(direction,60); потому что при обычном движении, на скорости больше 16, пуля может взять и просто перепрыгнуть через объект. Пуля нужна быстрая)

MasterSamboДата: Воскресенье, 30 Июня 2013, 12:35 | Сообщение # 4011
заслуженный участник
Сейчас нет на сайте
Цитата (Sanchez06)
arkady, вероятно нужно для этого использовать физический движок. Для каждого типа мотора делаешь свою силу в свою сторону. Ставишь разные материалы. Попробуй ExtremePhysics, может и понравится.

Хорошо, попробую, спасибо!
KrososДата: Воскресенье, 30 Июня 2013, 12:40 | Сообщение # 4012
постоянный участник
Сейчас нет на сайте
Ну тогда я вот ,что намутил...
move_contact_solid(direction,60)
if collision_rectangle(id.x-24,id.y-24,id.x+24,id.y+24,object1,0,1){ //Выделяем пулю прямоугольником ,48 на 48 ,и если этот прямоугольник задевает объект 1 , то пуля удаляется.
instance_destroy()
}





Мой проект
sayranДата: Воскресенье, 30 Июня 2013, 14:19 | Сообщение # 4013
частый гость
Сейчас нет на сайте
Krosos или кто знает ,будьте добры еще раз объясните про комнаты у меня не получается ничего :

У меня 3 комнаты:

1 - space1_r : игровая комнота
2 - space2_r : игровая комнота
3 - meny1_korab_r : меню

Допустим мы играем в игровой комнате space1_r кончились патроны нажимаем кнопку и заходим в комнату meny1_korab_r делаем покупку и выходим возвращаемся в то место с которого вошли ! Так же и во всех остальных комнатах должно быть вышел в меню сделал покупку нажал кнопку и вернулся обратно в игровой процесс ! Подскажите как это все реализовать попонятней !!




Сообщение отредактировал sayran - Воскресенье, 30 Июня 2013, 14:20
KrososДата: Воскресенье, 30 Июня 2013, 15:09 | Сообщение # 4014
постоянный участник
Сейчас нет на сайте
sayran, Через постоянные переменные
Ах , как мне лень все объяснять , просто писец !
Короче вот пример , там думаю все понятно...
123132.gmk





Мой проект
sayranДата: Воскресенье, 30 Июня 2013, 17:16 | Сообщение # 4015
частый гость
Сейчас нет на сайте
Я может туповат в этом деле но я ничего не понял, но все равно благодарю за отзывчевость Krosos !!

KrososДата: Воскресенье, 30 Июня 2013, 23:34 | Сообщение # 4016
постоянный участник
Сейчас нет на сайте
Как проверить наличие объектов обладающих некой переменной в неком радиусе?
Например
Есть объекты: O , D , I

O проверяет есть ли рядом в радиусе 250 объект с переменной UE=1 , если есть то UU=1 , если нету то UU=0.
D UE=0
I UE=1





Мой проект
FadeBakerДата: Понедельник, 01 Июля 2013, 00:32 | Сообщение # 4017
JavaSE Game Developer
Сейчас нет на сайте
Krosos,
В справке есть функция, проверяющая наличие переменной, как локальной, так и глобальной. Название функции не помню, поэтому посмотри в справке. Пишешь:
Код
with (all) {
    if (distance_to_object(other) <= 250 && функцияПроверкиНаличияПеременной(имя)) {
       //выполняешь какие-либо действия
    }
}

Как-то так.


Уроки по 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.


Сообщение отредактировал Fade - Понедельник, 01 Июля 2013, 00:33
Sanchez06Дата: Понедельник, 01 Июля 2013, 07:43 | Сообщение # 4018
участник
Сейчас нет на сайте
Krosos, все равно Гамак адекватно не хочет распознавать столкновения( Но спасибо
musicfunsДата: Понедельник, 01 Июля 2013, 18:10 | Сообщение # 4019
Gorilla Develop Studio
Сейчас нет на сайте
Допустим я объявил переменную:

Код
global.dialog = floor(random(3));


И задал:
Код
switch(global.dialog){
case 1:
  show_message("Кажись доигрался ты парень. Не надо больше так сильно разбивать шампанское об корабль")
   break  

case 2:
  show_message("Кажись повезло. Целая бутылка рома, да бесплатно");
  global.drink +=20;
     break

case 3:
  show_message("Все эти твои драки на том свете тебе воздадутся");
  global.karma -=10;

break         
      
   }

А теперь вопрос. Как можно сделать вывод этой переменной, ну скажем каждые 2 минуты?
То есть, чтобы у нас каждые 2 минуты выскакивало сообщение?
LunarPixelДата: Понедельник, 01 Июля 2013, 18:15 | Сообщение # 4020
старожил
Сейчас нет на сайте
musicfuns, Create:
Код
Alarm[0]=room_speed*120


Alarm 0:
Код
global.dialog = floor(random(3));
И весь остальной код сюда
Alarm[0]=room_speed*120


Поиск:

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