Результаты поиска
| |
MrSlap | Дата: Суббота, 06 Июня 2015, 00:26 | Сообщение # 21 | Тема: Ограничение CPU для GMS |
почетный гость
Сейчас нет на сайте
| EfimovMax, да, как бы, я могу забацать себе гигантские текстуры и 4k разрешение, с комнатами огромного размера. Но, например ноутбук у меня не запустит этот проект, скажет, что память кончилась в процессе загрузки. Ясно дело, что я не собираюсь рисовать графику на 4k, но в целом, хочется самому протестировать, какое качество картинки может быть на 1гб ОЗУ, и ограниченной видеопамяти. =)
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Пятница, 05 Июня 2015, 23:48 | Сообщение # 22 | Тема: Ограничение CPU для GMS |
почетный гость
Сейчас нет на сайте
| А есть ли в GMS функция принудительного снижения производительности, чтобы испытывать приложение на низких оборотах?
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Суббота, 30 Мая 2015, 01:02 | Сообщение # 23 | Тема: Движение к объекту. |
почетный гость
Сейчас нет на сайте
| Maxaon, нет, друг, просто переменные - вообще вещь универсальная и очень полезная. Она не только позволяет сократить ширину строк, но и расширить функционал всевозможных фич, производимых с объектом, и даже повысить читабельность кода! =)
P.S. прошу прощения за оффтопчик.
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Понедельник, 25 Мая 2015, 13:14 | Сообщение # 24 | Тема: Что случилось со сравнениями в ГМС? |
почетный гость
Сейчас нет на сайте
| Глюк, у меня в GMS подобные функции работают без нареканий. Попробуй проверить значения переменных в реальном времени, выведи их в draw GUI через draw_text, может ошибка где-то в коде всё-таки, а не в if?
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Понедельник, 18 Мая 2015, 23:01 | Сообщение # 25 | Тема: Постепенное увеличение объекта |
почетный гость
Сейчас нет на сайте
| Грозный, непосредственно цифрами. например:
Код draw_line(vw*0.5-ver_x-50,vh*0.5-ver_y,vw*0.5-ver_x-50,vh*0.5+ver_y)/ -50 это отступ влево от центра экрана, не считая отступа переменной ver_x. Для правой линии, соответственно нужно +50 (или то число пикселей, откуда у тебя должно начинаться движение линий).
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Понедельник, 18 Мая 2015, 13:15 | Сообщение # 26 | Тема: Постепенное увеличение объекта |
почетный гость
Сейчас нет на сайте
| XDominator, я потому и предлагал парню просто перейти на линии в 1 пиксель ) там не надо скосы добавлять - но эмуляция движения по туннелю создаётся с тем же успехом.
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Понедельник, 18 Мая 2015, 00:20 | Сообщение # 27 | Тема: Постепенное увеличение объекта |
почетный гость
Сейчас нет на сайте
| Грозный, если объектами, то назначаешь переменны в Create типа А в draw пишешь что-то вроде Код draw_sprite_stretched(sprite,subimg,x,y,w,h) Где sprite - это спрайт отрезка стены, который должен двигаться, subimg -1 (кадр спрайта - не двигается), вместо x пиши координату расположения по икс+xx(положение спрайта - твой дальний край, где рисуется стена), y - соответственно высота, w = 1, спрайт по x всегда остаётся тонким. Вместо h пишешь ys (y_scale - то есть масштаб по вертикали). Потом, если надо двигать, например назначаешь в step кнопку - if keyboard_check(vk_up) - например, в зависимости от того, как он должен двигаться. И в этом if пишешь: Код { xx-=1; ys+=0.1; //надо подгонять по масштабам твоей комнаты - спрайт будет расширяться быстро, уменьшай значение. Можно и формулу вывести, в зависимости от угла наклона стены (перспективы), но мне ленно. } Примерно так это работает. Если надо чтобы оно двигалось перманентно, то делаешь в if вместо клавиши, ограничение, которое сбрасывает x и h до базовых значений.
Создаю интерактивную повесть.
Сообщение отредактировал MrSlap - Понедельник, 18 Мая 2015, 00:37 |
|
| |
MrSlap | Дата: Воскресенье, 17 Мая 2015, 21:28 | Сообщение # 28 | Тема: Постепенное увеличение объекта |
почетный гость
Сейчас нет на сайте
| Грозный, потому что события в create выполняются единожды при создании объекта... Вот он в первом шаге проверил... и всё. А у тебя стены картинками сделаны? Я бы предложил попробовать draw_line
что-то вроде: Create Код vx=view_xview[0]//сокращаем длину писанины vy=view_yview[0] vw=view_wview[0] vh=view_hview[0]
hor_x=0 //горизонтальное расширение линии hor_y=0 //горизонтальный спуск линии ver_x=0 //вертикальный спуск ver_y=0 //ширина вертикали
Step Код if keyboard_check(vk_up) { hor_x+=4//скорость увеличения перспективы hor_y+=4//ощущение увеличения скорости движения (как то так) if hor_x>vw*0.5 {hor_x=0; hor_y=0} //если уходит за пределы экрана ver_x+=4 //приближение стены ver_y+=4 //высота стены при приближении if ver_x>vw*0.5 {ver_x=0; ver_y=0} //если уходит за пределы экрана }
Draw Код draw_line(vw*0.5+hor_x,vh*0.5+hor_y,vw*0.5-hor_x,vh*0.5+hor_y)//пол draw_line(vw*0.5-ver_x,vh*0.5-ver_y,vw*0.5-ver_x,vh*0.5+ver_y)//левая стена draw_line(vw*0.5+ver_x,vh*0.5-ver_y,vw*0.5+ver_x,vh*0.5+ver_y)//правая стена
Там только + и - у отрисовки линий подогнать под размеры твоей перспективы, в общем, поэкспериментируй, может получишь желаемое )Добавлено (17 мая 2015, 21:28) --------------------------------------------- Грозный, и ещё он у тебя не будет работать потому, что if (x != xprevious) выполняет проверку положения координаты х относительно предыдущего шага. А в предыдущем шаге координата объекта не двигается.
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Воскресенье, 17 Мая 2015, 20:28 | Сообщение # 29 | Тема: Постепенное увеличение объекта |
почетный гость
Сейчас нет на сайте
| Грозный, почему не получится? А увеличивать Y линии, в зависимости от её X?
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Среда, 13 Мая 2015, 00:16 | Сообщение # 30 | Тема: Поиск существующих предметов |
почетный гость
Сейчас нет на сайте
| EfimovMax, хм, а если нет положительных значений, выскакивает ошибка, и если последнее не положительно - тоже ошибка. Цитата Push :: Execution Error - Variable Index [0,15] out of range [1,15] - -5.f_weapon(100071,15) at gml_Script_scr_HUD (line 73) - while f_weapon[weapon]=0 Та же ошибка, если последнее значение не является единицей. А если всё по нолям, но последнее 1, то цикл останавливается на последнем значении и не идёт в ноль. Странно.Добавлено (13 мая 2015, 00:13) --------------------------------------------- EfimovMax, а, не заметил коммент. А если туда докрутить брейк какой-нибудь, типа после перечисления всех значений - брейк? Добавлено (13 мая 2015, 00:16) --------------------------------------------- EfimovMax, ага, вот так:
Код if keyboard_check_pressed(key[9]) { weapon+=1 if weapon>14 weapon=0 while f_weapon[weapon]=0 { weapon+=1 if weapon>14 {weapon=0 break;} } }
Заработало во всех вариациях.
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Вторник, 12 Мая 2015, 23:50 | Сообщение # 31 | Тема: Поиск существующих предметов |
почетный гость
Сейчас нет на сайте
| EfimovMax, а, и правда. Спасибо. Ща вкручу его в код, посмотрим, как зачирикает.
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Вторник, 12 Мая 2015, 23:34 | Сообщение # 32 | Тема: Поиск существующих предметов |
почетный гость
Сейчас нет на сайте
| EfimovMax, что подразумевает под собой NowWeapon? да и подсчитать количество доступных пушек не пробелма. Проблема в том, чтобы параметр weapon присваивал поочерёдно только те f_weapon, которые равняются 1. Минуя те, которые идут с нулями. Ну, чтобы если f_weapom [1-3]=0, а f_weapom [4]=1, то нажав vk_1 он бы сразу перескочил на 5 значение. Я уже трёхэтажную фигню нарисовал, и всё равно где-то не могу досмотреть момент...
Код for (w=0 w<14 w+=1) { if f_weapon[w]=1 //если волына под номером w присутствует { for (e=0 e<14 e+=1) { enabled[e]=w //присвоить её порядковый номер переменной enable - реестр доступных пух. break; } } } if keyboard_check_pressed(key[9]) { weapon=enabled[next] //пуха равна первой в списке доступных пух next+=1 }
получается enabled принимает значение последнего оружия в списке. Не могу понять, как бы мне поочерёдно то его выстроить. Брейк там будет лишний, тогда w применит только первое значение. А надо все по очереди. Чую - не хватает куска кода, который бы рассортировал мои f_weapon по порядку в enable.
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Вторник, 12 Мая 2015, 21:27 | Сообщение # 33 | Тема: Поиск существующих предметов |
почетный гость
Сейчас нет на сайте
| Снова здравствуйте. В очередной раз нахожусь в ситуации, где ответ ускользает от меня...
В игре планируется открывать различные виды оружия. Есть список weapon - где по порядку указаны волыны от худшей к лучшей. Есть проверка f_weapon[weapon] - которая должна определять наличие такого оружия в "инвентаре". Ну и нажатием клавиши 1 герой должен получать следующее доступное оружие. Допустим, что у героя есть в наличии 1, 2 и 5 вид оружия (f_weapon[1]=1 и так с 2 и 5). Как бы выдавать эти пушки в том же порядке, минуя пустые "ячейки"? При том, что пролистав все ячейки weapon опять равен 0 - без оружия.
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Понедельник, 11 Мая 2015, 05:52 | Сообщение # 34 | Тема: Сурфейс под деревом |
почетный гость
Сейчас нет на сайте
| YellowAfterlife, я неправильно выразился. Если дерево над темнотой - то оно не затемняется. И торчит такое яркое... А если сделать нормально - то фонарик начинает выше кроны светить... Не приходит в голову, как замиксовать дерево в сюрф...Добавлено (10 мая 2015, 17:52) --------------------------------------------- Tymonr, там сложилось, что свет фонарика рисуется на сюрфе темноты. И чем выше я depth'аю темноту, тем выше, соответственно и фонарик. Более того, в нём сюрф и проигрывается.. Добавлено (10 мая 2015, 17:57) --------------------------------------------- YellowAfterlife, уточнение не прочитал. Будут меняться погода и освещение... Хочется решения непосредственным образом. Добавлено (11 мая 2015, 05:52) --------------------------------------------- Проблема решена простейшим путём - дерево рисуется выше сюрфа, однако над его спрайтом рисуется спрайт_екст его тени с той же переменной, что и клир_альфа сурфейса.
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Воскресенье, 10 Мая 2015, 17:38 | Сообщение # 35 | Тема: Сурфейс под деревом |
почетный гость
Сейчас нет на сайте
| Здравствуйте, господа форумчане. Вопрос возник насущный. У меня тут TDS и, обычно в игровом пространстве будет темно, но есть источники света, у героя, например - фонарик. А есть на карте - деревья, такие - с раскидистыми ветвями. Задача: герой с фонариком идут под деревом, но свет фонарика проходит над ним. Тогда я поигрался с глубиной, и теперь дерево растёт выше темноты ночной! Это плохо.
Есть у кого здравая идея, как с этим совладать?
Создаю интерактивную повесть.
Сообщение отредактировал MrSlap - Воскресенье, 10 Мая 2015, 17:38 |
|
| |
MrSlap | Дата: Пятница, 08 Мая 2015, 21:02 | Сообщение # 36 | Тема: Сохранение скриншотов |
почетный гость
Сейчас нет на сайте
| YellowAfterlife, понятно, благодарю. Хоть и постоянно втыкаю в справку GMS, а многие вещи всё-равно как-то мимо проскальзывают. И не всегда всё понятно =) Добавлено (08 мая 2015, 21:02) --------------------------------------------- YellowAfterlife, ещё такой вопрос, при добавлении тайлов в комнату, код screen_save начал выполняться довольно долго. Есть способ избежать этой проблемы?
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Четверг, 07 Мая 2015, 23:47 | Сообщение # 37 | Тема: Строковые числа с предварительным нулём |
почетный гость
Сейчас нет на сайте
| YellowAfterlife, доходчиво, ещё раз благодарю.
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Четверг, 07 Мая 2015, 00:01 | Сообщение # 38 | Тема: Строковые числа с предварительным нулём |
почетный гость
Сейчас нет на сайте
| FadeBaker, ага, и цифра появляется слева, правильно? То есть в примере YellowAfterlife, string_repeat("0", current_minute < 10) - ноль будет рисоваться перед числом, если то меньше 10?
И у меня есть обратный вопрос. А если я хочу сократить 2015 до 15? Ну, чтобы это был год в двузначном сокращении - тогда вообще всё красивенько получается =)
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Среда, 06 Мая 2015, 22:49 | Сообщение # 39 | Тема: Сохранение скриншотов |
почетный гость
Сейчас нет на сайте
| YellowAfterlife, а если я перед сохранением игры и загрузкой нового скриншота удаляю предыдущий спрайт Код if sprite[slot]!=spr_default_load {sprite_delete(sprite[slot])}; А уже потом сохраняю скриншот и подгружаю его add_sprite'ом. Принцип работы тот же? Или есть причины, по которым sprite_replace эффективнее?
Создаю интерактивную повесть.
|
|
| |
MrSlap | Дата: Среда, 06 Мая 2015, 22:44 | Сообщение # 40 | Тема: Строковые числа с предварительным нулём |
почетный гость
Сейчас нет на сайте
| YellowAfterlife, с этого места чуточку поподробнее, пожалуйста. Чем конкретно занимается string_repeat? =)
Создаю интерактивную повесть.
|
|
| |
|