RS Game Maker Community
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

 
Расширенный поиск
  Главная  Форум   Вики Блоги FAQ Игры Статьи Примеры Войти Регистрация  
Вики
Все желающие приглашаются редактировать вики. Можете писать о своих (или чужих) играх, размещать туториалы, постить статьи - главное навесить категорию.
Страниц: 1 ... 361 362 363 364 365 366 367   Вниз
  Печать  
Ответы@Gmakers.xyz — все вопросы сюда
0 Пользователей и 14 Гостей смотрят эту тему.
deathsoul
дезсоул
Ветеран форума
*****

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

Награды:
Легенда сайта
Сообщений: 1 853


21 Апреля 2011 в 01:14
Чтобы не было тем с вопросами, которые содержат всего два-три сообщения, все свои вопросы задавайтесь здесь. Если вопрос окажется слишком сложным для общей темы, модераторы всегда могут вынести обсуждение в отдельную тему.
Для этой темы действуют те же правила, что и для всего раздела, так что перед тем, как задать вопрос, обязательно ознакомьтесь с этой темой: «Ознакомьтесь, прежде чем задать вопрос». И не забудьте проверить, нет ли ответа на ваш вопрос в FAQ по Game Maker.
Последнее редактирование: 13 Октября 2013 в 19:01 от Огион
 
Макасин
[s]
Младший администратор
Старожил
******

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

Награды:
Легенда сайта
Сообщений: 4 277


[/s]

Ответ № 7281 01 Июля 2018 в 07:48
Раздели и округли.

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
ZCGamer
Активный участник
**

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

Сообщений: 207


Гроза игростроя!

Ответ № 7282 01 Июля 2018 в 14:02
Можно по конкретней, что делить, что округлять?
Немного контекста: есть вращающийся объект, следящий за мышью. Нужно что бы он вращался не на все 360 градусов, а только каждый 10 градус.
Макасин
[s]
Младший администратор
Старожил
******

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

Награды:
Легенда сайта
Сообщений: 4 277


[/s]

Ответ № 7283 01 Июля 2018 в 20:48
"Программирование — это не знание языка, а умение решать задачи"

Да сотни способов. Раздели на десять, убери дробную часть, умножь на десять. Например. Или придумай способ получше.

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
ZCGamer
Активный участник
**

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

Сообщений: 207


Гроза игростроя!

Ответ № 7284 03 Августа 2018 в 18:07
Всем привет, снова я со своими глупыми вопросами...
В этот раз дело такое, у меня есть крутой световой движок, который может делать освещение и тени от любых объектов. Он отлично работает, лучше него я ничего не нашел. Но у него есть одна проблема, этот движок очень прожорлив... его как-то возможно оптимизировать, что бы можно было использовать более 3 источников света? P.S Частично удалось устранить проблему с тормозами путем уменьшения размера спрайта. Мне так удалось увеличить кол-во источников света до 13, до первых просадок на пару кадров. Можно поставить больше... Но все же есть еще способы уменьшить нагрузку?


* CBNA - Световой Движок.gmk (1248.37 Кб - загружено 52 раз.)
Прикреплённые файлы
* CBNA - Световой Движок.gmk (1248.37 Кб - загружено 52 раз.)
Последнее редактирование: 04 Августа 2018 в 02:33 от ZCGamer
input.txt
Не очень
Активный участник
**

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

Сообщений: 145


12.8 Gb

Ответ № 7285 05 Августа 2018 в 23:46
Он создает и рисует туеву хучу поверхностей, можно попробовать уменьшить их размер. Например в SL_engine_ini переменную sl_buffer_texturesize можно без особых потерь качества поставить в 1/8.
Но хз как это правильно делается, там комменты на французском что ли.
ZCGamer
Активный участник
**

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

Сообщений: 207


Гроза игростроя!

Ответ № 7286 06 Августа 2018 в 18:09
Знаете ведь наверно, как во всех больших играх делают систему прорисовки объектов. Та область куда смотрит игрок, прорисовывается, соответственно та часть которую не видно, не прорисовывается. В GM это как можно реализовать? Возможно поможет. Я что-то пробовал делать с деактивацией объектов, но там какие-то вылеты происходили...
input.txt
Не очень
Активный участник
**

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

Сообщений: 145


12.8 Gb

Ответ № 7287 06 Августа 2018 в 19:08
Лучше конечно деактивировать, но часто бывает достаточно выключить только рисование: visible=false.
Также рисование по умолчанию (если у объекта пустое событие ) вне вида выключается автоматически, но если там есть код, даже если это draw_self(), то событие выполняется всегда.
ELGReeN
Активный участник
**

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

Сообщений: 124


Ответ № 7288 08 Августа 2018 в 19:10
Как работает передвижение? где то было но не нашел
есть: x y direction speed
как из это вычислить новые xy? типа как xprevious yprevious но наоборот, потенциальные.

tolich
to ne lich
Ветеран форума
*****

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

Сообщений: 1 521


moonlite

Ответ № 7289 09 Августа 2018 в 14:13
На каждом шаге игры, между событиями Step и End Step происходит расчёт нового положения всех объектов. Условно можно сказать, что для всех экземпляров выполняется код:
xprevious=x;
yprevious=y;
x+=hspeed;
y+=vspeed;

После перемещения всех объектов проверяются столкновения, и по результатам некоторые объекты могут вернуться обратно в xprevious,yprevious.

Специально ничего предпринимать для этого не нужно, предотвратить невозможно. Впрочем, в событии Step можно рассчитать новое  предполагаемое (так как столкновения и всё такое) положение:
var newx,newy;
newx=x+hspeed;
newy=y+vspeed;

Да, hspeed и vspeed - две переменные связанные с direction и speed соотношением:
hspeed=lengthdir_x(speed, direction);
vspeed=lengthdir_y(speed, direction);
И, опять же, это соответствие поддерживается автоматически: при изменении direction и speed автоматически изменяются hspeed и vspeed. И наоборот.

А ещё, надо читать справку.

ZCGamer
Активный участник
**

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

Сообщений: 207


Гроза игростроя!

Ответ № 7290 11 Августа 2018 в 19:15
У кого нибудь есть gmZip.dll или что-то вроде того, для защиты внешних файлов, что бы их нельзя было редактировать. А то везде ссылки битые..
Огион
Завсегдатай
****

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

Сообщений: 992


Ответ № 7291 13 Августа 2018 в 12:19
Зачем gmZip.dll? Простую защиту файла несложно реализовать. Нужна только какая-нибудь функция для получения хэша файла. В GMS есть MD5 — для твоих нужд, думаю, будет достаточно.

Считаешь хэш файла, к хэшу дописываешь свой пароль и снова хэшируешь. Этот хэш записываешь или в сам файл, или куда-нибудь ещё. Чтобы проверить аутентичность файла, повторяешь те же действия и сверяешь с хэшем. Если файл отличается от исходного хоть на один байт, хэши не совпадут. Восстановить по хэшу исходный пароль практически невозможно.
tolich
to ne lich
Ветеран форума
*****

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

Сообщений: 1 521


moonlite

Ответ № 7292 13 Августа 2018 в 12:39
Этот хэш записываешь в сам файл.
Думаю, это этого хеш файла изменится, так что не вариант. Или считать хеш для проверки нужно для файла с удалённым хешем.
Последнее редактирование: 13 Августа 2018 в 13:15 от tolich

Огион
Завсегдатай
****

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

Сообщений: 992


Ответ № 7293 13 Августа 2018 в 13:48
Разумеется. Загрузить часть файла без хэша в какой-нибудь буфер и посчитать хэш.
ZCGamer
Активный участник
**

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

Сообщений: 207


Гроза игростроя!

Ответ № 7294 13 Августа 2018 в 14:00
Я не использую GMS, сижу на восьмерке. Мне бы простую какую нибудь штуку, что бы банально нельзя было открыть текстуру фона в пеинте и написать там что нибудь.. у вас на сайте что нибудь подобное есть?
Огион
Завсегдатай
****

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

Сообщений: 992


Ответ № 7295 14 Августа 2018 в 23:37
Набросал пример. Для MD5 использовал Crypt.dll за авторством некого Freaked.
Прикреплённые файлы
* file_validation.7z (25.81 Кб - загружено 16 раз.)
Огион
Завсегдатай
****

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

Сообщений: 992


Ответ № 7296 23 Августа 2018 в 20:42
А как именно ты используешь эту функцию?
input.txt
Не очень
Активный участник
**

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

Сообщений: 145


12.8 Gb

Ответ № 7297 24 Августа 2018 в 09:56
А дело точно в draw_line? Например вычисление координат конца того же лазера, в зависимости от реализации, может запросто высосать весь fps.

Проверил, моё ведро выдерживает 10к draw_line за кадр при 20 fps 
tolich
to ne lich
Ветеран форума
*****

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

Сообщений: 1 521


moonlite

Ответ № 7298 24 Августа 2018 в 11:23
А нужно, видимо, не меньше 60 fps.

input.txt
Не очень
Активный участник
**

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

Сообщений: 145


12.8 Gb

Ответ № 7299 24 Августа 2018 в 12:46
А нужно, видимо, не меньше 60 fps.

Зато и вызовов вряд ли больше 10 000.
ZCGamer
Активный участник
**

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

Сообщений: 207


Гроза игростроя!

Ответ № 7300 13 Сентября 2018 в 19:09
Всем привет. Очередной глупый вопрос. Я раньше использовал диактивацию объекта, и его активацию внутри вида. Но способ оказался не эффективным, потому что может быть так что враг застрянет в только что появившиеся стене.
Думаю попробовать заменить эту систему на обычную прорисовку (visible = 0). В GM есть функция outside_view, она делает объекты невилимыми за пределами вида, но обратно видимость не возвращает. Как это правильно сделать?
Страниц: 1 ... 361 362 363 364 365 366 367   Вверх
  Печать  
 
Перейти в:  

RSGMC (gmakers.ru) © 2007—2018
Счётчик–@Mail.ru