Не уверен - дел различных степеней важности у меня хватает. Не писать же код буквально всё время. Может, уделю какой-то выходной, но я так начал делать игру на gameboy jam, что заканчивается завтра, и игра так и лежит наполовину сделанная.
ЦитатаShevron_7 ()
Помогите. не знаю как сделать отрисовку точек от объекта к объекту не под прямым углом нужно чтобы от объекта o_ball к другому объекту o_ball с помощью цикла отрисовывалось несколько точек o_point, как на рисунке. вся проблема в том что я не могу понять какие координаты присваивать иксу и игреку =( или как их узнать
varx1 = obj_1.x; vary1 = obj_1.y; varx2 = obj_2.x; vary2 = obj_2.y; vardx = x2 - x1; // разница по X vardy = y2 - y1; // разница по Y vardd = sqrt(dx * dx + dy * dy); // расстояние vardn = ceil(dd / 40); // вычисление количества точек for (vari = 1; i < dn; i++) { varpx = x1 + dx * i / dn; varpy = y1 + dy * i / dn; // рисование круга: draw_circle(px, py, 10, false); }
Цитатаwoody111 ()
Добрый вечер, прошу помощи! Установил GMS на ноутбук, до этого работал на компьютере. Вбил почту и пароль как полагается, а в ответ прога просит ввести код лицензии. Но мне нужна бесплатная версия. Как мне быть? И еще при вводе почты-пароля строчки с этими записями наезжают на функциональные(линкабельные) кнопки меню при запросе регистрации программы.
Ввести в поле "license recovery" на странице адрес почты - на нее повторно придет письмо с ключом, которым активировать через Help - Update License. Про съезд элементов управления - у меня такое было из-за установленного масштабирования.
Всем добрый день! Недавно я столкнулся с проблемой - у меня не получается установить не один кряк Game Maker по непонятным причинам... Я уже пересмотрел кучу видео по установке Game Maker Standart, делал всё как там, но безуспешно. :(
Всем добрый день! Недавно я столкнулся с проблемой - у меня не получается установить не один кряк Game Maker по непонятным причинам... Я уже пересмотрел кучу видео по установке Game Maker Standart, делал всё как там, но безуспешно. Можете что-то посоветовать, как-то помочь?
Зачем тебе кряк? С официального сайта можно скачать полную версию без ограничений (версия Стим ограничена). Текущий проект: The Experiment ☭
Но я хочу сначала доделать мини-проект на Game Maker, а потом уже на Studio переходить.
Добавлено (22 августа 2015, 13:06) ---------------------------------------------
Цитатаhero564 ()
не благодари)
Но всё равно спасибо) Даж не знал, что GMS Standart бесплатная. А на GM 8.1 Free толковый проект не сделаешь...
Добавлено (22 августа 2015, 15:17) ---------------------------------------------
Добавлено (22 августа 2015, 15:20) ---------------------------------------------
ЦитатаEfimovMax ()
С официального сайта можно скачать полную версию без ограничений
Без ограничений - версия Standart (у GM 8.1) её покупать как бы надо
Добавлено (24 августа 2015, 14:37) --------------------------------------------- Аааа, помогите! У меня персонаж в игре падает в GMS. В GM 8.1 такого не было!
Сообщение отредактировал Taxomich - Суббота, 22 Августа 2015, 15:18
У меня небольшой вопрос к людям имеющим Professional Edition. Вчера появилась возможность использовать Windows YYC Пробовал запустить свою игруху, всё что я заметил что на YYC мультиплеер стал странно работать. В чём их настоящия отличия?
я уже все перепробовал, он либо не работает вообще, либо при поднятии патронов они из общих сразу заряжаются в обойму, при стрельбе сначала отнимаются с общих а потом уже с обоймы.
Franz, Создаёшь событие alarm 0, вставляешь пустой код(просто комментарий //) Потом проверяешь, если alarm[0]=-1 то перезаряжатся и запускать alarm на сколько нужно времени.
Простой пример:
Код
if alarm[0]=-1 { //Любое действие. alarm[0]=10//Перезарядка 10 шагов }
Создаёшь событие alarm 0, вставляешь пустой код(просто комментарий //) Потом проверяешь, если alarm[0]=-1 то перезаряжатся и запускать alarm на сколько нужно времени.
Простой пример: Код if alarm[0]=-1 { //Любое действие. alarm[0]=10//Перезарядка 10 шагов }
не работает, пропиши в коде как должно быть. в код таймера "//" ставил
Код
if weapon =3 { if keyboard_check_pressed(ord('R'))and ak47_oboim<ak47_oboim_max//Если нажата клавиша R и обойма не полная { if(ak47_patrons>=(ak47_oboim_max-ak47_oboim)) //Если в запасе хватает патронов до полной обоймы { ak47_patrons-=ak47_oboim_max-ak47_oboim; //Отнимаем от патрон в запасе столько, сколько не хватает до полной обоймы ak47_oboim=ak47_oboim_max; //Заряжаем полную обойму } else //Если в запасе не хватает патронов до полной обоймы { ak47_oboim+=ak47_patrons; //Заряжаем то, что осталось ak47_patrons-=ak47_patrons;//Отнимаем все патроны } } }
Сообщение отредактировал Franz - Среда, 02 Сентября 2015, 15:25
Перенеси код самой перезарядки в alarm 0, а потом в событии в котором выполняется перезарядка:
Код
....... if (keyboard_check_pressed(ord('R')) and alarm[0]=-1) { sound_play(звук_перезарядки)//или что тебе тут надо... alarm[0]=room_speed//Оружие перезарядится через одну секунду. } .......
в alarm 0 чисто саму перезарядку без проверки на нажатии клавиш и т.д.. P.s Я думал тебе нужна перезарядка между выстрелами -_-
в alarm 0 чисто саму перезарядку без проверки на нажатии клавиш и т.д.. P.s Я думал тебе нужна перезарядка между выстрелами -_-
Все ровне не работает пропиши прям в мой код как оно должно быть я делал так
Код
if weapon =3 { if keyboard_check_pressed((ord('R'))and alarm[4]=-1 and ak47_oboim<ak47_oboim_max)//Если нажата клавиша R и обойма не полная { if(ak47_patrons>=(ak47_oboim_max-ak47_oboim)) //Если в запасе хватает патронов до полной обоймы { ak47_patrons-=ak47_oboim_max-ak47_oboim; //Отнимаем от патрон в запасе столько, сколько не хватает до полной обоймы ak47_oboim=ak47_oboim_max; //Заряжаем полную обойму } else if (ak47_patrons<(ak47_oboim_max-ak47_oboim))//Если в запасе не хватает патронов до полной обоймы { ak47_oboim+=ak47_patrons; //Заряжаем то, что осталось ak47_patrons-=ak47_patrons;//Отнимаем все патроны } } alarm[4]=room_speed*2 }
и вот так
Код
if weapon =3 { if keyboard_check_pressed((ord('R'))and alarm[4]=-1 and ak47_oboim<ak47_oboim_max)//Если нажата клавиша R и обойма не полная { if(ak47_patrons>=(ak47_oboim_max-ak47_oboim)) //Если в запасе хватает патронов до полной обоймы { ak47_patrons-=ak47_oboim_max-ak47_oboim; //Отнимаем от патрон в запасе столько, сколько не хватает до полной обоймы ak47_oboim=ak47_oboim_max; //Заряжаем полную обойму alarm[4]=room_speed*2 } else if (ak47_patrons<(ak47_oboim_max-ak47_oboim))//Если в запасе не хватает патронов до полной обоймы { ak47_oboim+=ak47_patrons; //Заряжаем то, что осталось ak47_patrons-=ak47_patrons;//Отнимаем все патроны alarm[4]=room_speed*2 } }
Ребят, чет я совсем туплю! Или бессонные ночи на меня так влияют. Не могу решить простую задачу. У меня к примеру есть 100 уровней. Я из них хочу выбрать рандомные 20 (но чтобы они не повторялись) и записать их в отдельные переменные. Т.е. вот такой примерно код привести к упрощенной схеме, чтобы не прописывать каждый уровень по отдельности:
Код
lastlevel=5 //Level1 global.level1=irandom_range(1,lastlevel) l=global.level1 //Level2 while (l=global.level1) {l=irandom_range(1,lastlevel)} global.level2=l //Level3 while (l=global.level1 or l=global.level2) {l=irandom_range(1,lastlevel)} global.level3=l //Level4 while (l=global.level1 or l=global.level2 or l=global.level3) {l=irandom_range(1,lastlevel)} global.level4=l //Level5 while (l=global.level1 or l=global.level2 or l=global.level3 or l=global.level4) {l=irandom_range(1,lastlevel)} global.level5=l
Raven84, я конечно говнокодер еще тот, но я бы сделал так.
Для начала создаем список: list=ds_list_create()
Потом наполняем его рендомными уровнями: for (i=1; i<20; i++) { level=irandom(1,100); // выбираем уровень if ds_list_find_index(list,level)=-1 // проверяем есть ли он уже в списке, если нет то... ds_list_add(list,level); // ... добавляем его else i-=1; // пропускаем эту попытку }
В итоге имеем заполненный список из 20 уровней.
Если комнаты пронумерованы r1 или room1, то для перехода на нужный уровень используем asset_get_index()