Пятница, 19 Августа 2022, 10:59

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Архив с вопросами
Архив с вопросами
Made_In_USSRДата: Среда, 09 Марта 2011, 21:20 | Сообщение # 241
заслуженный участник
Сейчас нет на сайте
К чему такой изврат? Хотя, как знаешь. Навыки наработаешь со временем, а пока тренируйся как получается smile

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
TermiantorДата: Среда, 09 Марта 2011, 22:54 | Сообщение # 242
почетный гость
Сейчас нет на сайте
ну можно через switch )но вопрос к сожалению остаётся открытым...
Made_In_USSR, изврат для Вас,для меня это пока нормально))
Dva_KotaДата: Среда, 09 Марта 2011, 23:19 | Сообщение # 243
заслуженный участник
Сейчас нет на сайте
Termiantor, было бы не плохо если бы ты пояснил за что отвечают переменные. И у тебя не хватает трех закрывающих скобок. Наверное в конце. Это весь код, или только кусок и есть еще продолжение?

Новый пример инвентаря! /20.06.2012/

Energy Wars
NeZnayuДата: Среда, 09 Марта 2011, 23:35 | Сообщение # 244
__танцуй!__
Сейчас нет на сайте
Termiantor, в чем вопрос то?

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
TermiantorДата: Четверг, 10 Марта 2011, 16:43 | Сообщение # 245
почетный гость
Сейчас нет на сайте
Code

   globalvar ee;
     if wave_time[wave] = 300
     {
         wave += 1;
         wave_time[wave] = 0;
         wave_enemies[wave] = min(5+floor(wave*0.4),25);
         ee[wave] = wave_enemies[wave];
     }
     Create enemies if needed for every array
     for (e = 0; e < wave+1; e += 1)
     {
         if wave_time[e] < 300 wave_time[e] += 1;
         if wave_enemies[e] > 0
         {
             if wave_time[e] = (ee[e]-wave_enemies[e])*15+15
             {
           
     if (wave=1)
  {
instance_create(-32,0,ob_enemy);
instance_create(-32,15,ob_enemy);
}
else
........
}

NeZnayu,
проблема состоит в том, что моя дурацкая голова не может додуматься как создать в 1 волне предположим 10 объектов,которые будут идти один за другим,а не как у меня получается что они идут друг на друге
Dva_KotaДата: Четверг, 10 Марта 2011, 16:46 | Сообщение # 246
заслуженный участник
Сейчас нет на сайте
Создавай их в одном и том же месте через аларм. И добавь счетчик - когда аларм сработал 10 раз больше не выполнять его (или установить на большОе время - когда будет следующая волна).

Новый пример инвентаря! /20.06.2012/

Energy Wars
NeZnayuДата: Четверг, 10 Марта 2011, 18:39 | Сообщение # 247
__танцуй!__
Сейчас нет на сайте
Quote (Termiantor)
как создать в 1 волне предположим 10 объектов,которые будут идти один за другим,а не как у меня получается что они идут друг на друге

Если все враги одинаковые:

Create:
enemy=obj_enemy1; //объект врага
max_enemies=10; //максимальное количество врагов
count=0; // счетчик
alarm[0]=room_speed; //1 секунда

Alarm0:
if count<max_enemies
{
instance_create(x,y,enemy);
count+=1;
alarm[0]=room_speed;
}


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу


Сообщение отредактировал NeZnayu - Четверг, 10 Марта 2011, 18:40
TermiantorДата: Четверг, 10 Марта 2011, 19:56 | Сообщение # 248
почетный гость
Сейчас нет на сайте
я наверно покажусь не совсем адекватным человеком,но у меня появился ещё один "шедевриальный" вопрос...
если в конце
Code

Create:
enemy=obj_enemy1; //объект врага
max_enemies=10; //максимальное количество врагов
count=0; // счетчик
alarm[0]=room_speed; //1 секунда

Alarm0:
if count<max_enemies
{
instance_create(x,y,enemy);
count+=1;
alarm[0]=room_speed;
}
  

я впишу instance_destroy(); , то появится только один объект(во всяком случае играясь с числами я не получил ещё одного объекта)
а если без destroy , то объект превращается в "червячка"и его начало движется только к концу пути.Я ещё раз извиняюсь если эти вопросы были.но гугл не помог в решении проблемы
NeZnayuДата: Четверг, 10 Марта 2011, 20:03 | Сообщение # 249
__танцуй!__
Сейчас нет на сайте
instance_destroy() - уничтожает текущий объект.

Т.е. уничтожается не объект противника, а тот объект в котором написан весь этот код.

Quote (Termiantor)
во всяком случае играясь с числами я не получил ещё одного объекта)

Т.е. у тебя не получилось создать всего 1 объект противника? max_enemies=1?

Quote (Termiantor)
а если без destroy , то объект превращается в "червячка"и его начало движется только к концу пути.

Сори, вообще не понял что ты имеешь в виду.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Четверг, 10 Марта 2011, 20:30 | Сообщение # 250
заслуженный участник
Сейчас нет на сайте
Quote (NeZnayu)
Надо делать проверку мыши и присваивать х, у ее координатам, только если мышь внутри окна.

Причем для х и у должны быть отдельные проверки.


То что у меня получилось не работает так как нужно. Моешь все таки сделать пример?

Добавлено (10.03.2011, 20:30)
---------------------------------------------
Благодаря методу проб и ошибок я таки добился нужного результата. Правда заблокировать курсов в окне игры у меня так и не получилось.


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Четверг, 10 Марта 2011, 20:35 | Сообщение # 251
__танцуй!__
Сейчас нет на сайте
Made_In_USSR, сейчас скину пример блокировки курсора.

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
NeZnayuДата: Четверг, 10 Марта 2011, 20:40 | Сообщение # 252
__танцуй!__
Сейчас нет на сайте
Code
if display_mouse_get_x()<window_get_x()   
display_mouse_set(window_get_x(),window_get_y()+mouse_y)   
if display_mouse_get_y()<window_get_y()   
display_mouse_set(window_get_x()+mouse_x,window_get_y())   
if display_mouse_get_x()>window_get_x()+room_width   
display_mouse_set(window_get_x()+room_width,window_get_y()+mouse_y)   
if display_mouse_get_y()>window_get_y()+room_height   
display_mouse_set(window_get_x()+mouse_x,window_get_y()+room_height)

Пример


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу


Сообщение отредактировал NeZnayu - Четверг, 10 Марта 2011, 20:49
NeZnayuДата: Четверг, 10 Марта 2011, 20:51 | Сообщение # 253
__танцуй!__
Сейчас нет на сайте
Перезалил пример.



CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу


Сообщение отредактировал NeZnayu - Четверг, 10 Марта 2011, 20:53
Made_In_USSRДата: Четверг, 10 Марта 2011, 21:23 | Сообщение # 254
заслуженный участник
Сейчас нет на сайте
NeZnayu, у меня получилось то же самое что и у тебя в примере. А мне нужно полностью заблокировать выход за пределы окна. Как я понимаю это тоже особенность гм и никакой возможности довести это дело до ума нет. Я начинаю разочаровываться в гм sad

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
AGENTX001Дата: Четверг, 10 Марта 2011, 21:41 | Сообщение # 255
почётный гцупер
Сейчас нет на сайте
Quote (Made_In_USSR)
Я начинаю разочаровываться в гм

А писсимизма нам не надо!
NeZnayuДата: Четверг, 10 Марта 2011, 21:46 | Сообщение # 256
__танцуй!__
Сейчас нет на сайте
Made_In_USSR, поставь room_speed на 1000, все дело в отрисовке комнаты, в гм она небыстрая - это да.

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Четверг, 10 Марта 2011, 22:08 | Сообщение # 257
заслуженный участник
Сейчас нет на сайте
У меня при трех функциях рисования фпс больше 60 не поднялся. При таком фпс нет смысла ставить скорость комнаты в 1000 все равно по факту будет 60. Да и на твоем примере все равно мышь даже при скорости в 2000 выходит за пределы окна, хотя и не так явно как при 150 шагах. Ладно, буду думать как обмануть юзера и в этот раз smile

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
TermiantorДата: Четверг, 10 Марта 2011, 23:04 | Сообщение # 258
почетный гость
Сейчас нет на сайте
NeZnayu,
Quote (NeZnayu)
Сори, вообще не понял что ты имеешь в виду.

объект после создания тянется до конца пути ,а при дестрое по непонятным причинам не тянется...вообще что ЭТО я так и не сумел разобраться..

Quote (NeZnayu)
Т.е. у тебя не получилось создать всего 1 объект противника? max_enemies=1?

у меня создаётся видимым 1 объект т.е. после создания его всё.пусто.
Made_In_USSRДата: Четверг, 10 Марта 2011, 23:49 | Сообщение # 259
заслуженный участник
Сейчас нет на сайте
На, не мучайся.

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Пятница, 11 Марта 2011, 00:08 | Сообщение # 260
__танцуй!__
Сейчас нет на сайте
Quote (Made_In_USSR)
Да и на твоем примере все равно мышь даже при скорости в 2000 выходит за пределы окна, хотя и не так явно как при 150 шагах. Ладно, буду думать как обмануть юзера и в этот раз

Юзер обычно не любит таких приколов, мышь его, он сам ее купил, а какая-то программа не дает любимому грызуну свободно по экрану побегать smile

А чего ты вообще пытаешься добиться, мэйби есть более "стандартные" решения?


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Архив с вопросами
Поиск:

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