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

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

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

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


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

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

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


moonlite

Ответ № 7321 07 Декабря 2018 в 10:00
Никто не разбирается. В справке целый раздел этому посвящён.

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

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

Сообщений: 204


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

Ответ № 7322 07 Декабря 2018 в 12:06
Ну вот, неудивительно почему отсюда все ушли.. никто не кому не помогает, все скидывают на справку, в которой нет нужных подробностей, а просто список команд.
tolich
to ne lich
Ветеран форума
*****

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

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


moonlite

Ответ № 7323 07 Декабря 2018 в 13:15
Задавай вопросы. Получишь ответы.

Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7324 09 Декабря 2018 в 11:04
Во-первых, согласен с Толичем. "Как работать?" — С чувством собственного превосходства. Конкретные вопросы пожалуйста.
Во-вторых, ты что-то путаешь. В справке подробно описана каждая команда с примером использования.
В-третьих, как насчет поиска по форуму? Минимум три темы есть, которые посвящены ини-файлам и могут помочь.

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
tolich
to ne lich
Ветеран форума
*****

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

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


moonlite

Ответ № 7325 17 Декабря 2018 в 09:10
В справке подробно описана каждая команда с примером использования.
Справедливости ради, такая справка только в GMS появилась. В GM8 действительно список функций. +1 причина переходить на студию.

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

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

Сообщений: 204


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

Ответ № 7326 17 Декабря 2018 в 18:44
Я раньше использовал ini для прогресса прохождения (отслеживание пройденных уровней и открытие последующих) и я думал, что использовал их как "нуб", а оказалось, что это все что с ними можно сделать. К тому же их можно открыть простым блокнотом и поменять все значения, что сводит их к полной бесполезности.
Так к чему это я, я планировал изначально с помощью них сохранять прогресс персонажа (его жизни, набор оружий, характеристики и т.д), что бы он не сбивался при переходах между уровнями и после перезапуска игры (не возвращался к стандартным значениям). Но видимо придется использовать простой game_save.. и то не факт, что сработает, нужно будет тестить.
Может тут смогут предложить еще варианты решения проблемы... наверно еще можно попробовать сделать объект персонажа "постоянным", но нужно пробовать.
tolich
to ne lich
Ветеран форума
*****

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

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


moonlite

Ответ № 7327 17 Декабря 2018 в 20:33
К тому же их можно открыть простым блокнотом и поменять все значения, что сводит их к полной бесполезности.
Шифрование, обфускация, контрольные суммы.

Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7328 25 Декабря 2018 в 05:52
что это все что с ними можно сделать.
Отнюдь нет. Например удобно хранить настройки.

набор оружий
*оружия

Но видимо придется использовать простой game_save
Не стоит. Посмотри, на форуме есть разные примеры реализации сохранений.

Может тут смогут предложить еще варианты решения проблемы
Толич подсказал выше. Да, игрок может поменять значения. Сделай, чтобы не смог. Или не понимал как и на что.

наверно еще можно попробовать сделать объект персонажа "постоянным"
Простое сохранение переменных объекта меду комнатами.

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

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

Сообщений: 168


Боль

Ответ № 7329 04 Февраля 2019 в 17:23
Столкнулся тут с такой проблемой - хотел загружать рандомную картинку из определенной директории - нужно каким то способом найти в нужной директории все папки, а потом найти в каждой папке все файлы.

directory=working_directory+"\заготовки\"
file_array = ds_list_create();

filename = file_find_first(directory+'*', fa_volumeid );

while (filename != '')
{
    ds_list_add(file_array, filename);
    filename = file_find_next();
}

ds_list_shuffle(file_array);
filename = ds_list_find_value(file_array,0)


Таким образом я создал лист, добавил в него название каждой пикчи и перемешал, затем при нажатии пробела первая картинка в листе отрисовывается (заменяет собой уже нарисованный по дефолту спрайт) и лист снова рандомится.

sprite_replace(file,directory+filename,0,0,0,0,0)

ds_list_shuffle(file_array);
filename = ds_list_find_value(file_array,0)

Знаю что можно так же и все папки найти, просто проверив есть ли такая директория

foldername=file_find_first(directory+'*',fa_directory)

while (foldername !='')
{
  if directory_exists(directory+foldername)
  {
    show_message(foldername)
  }
 foldername=file_find_next()
}

А вот как проверяя каждую папку ещё и каждый файл в них записать додуматься не могу.. Может кто то пытался подобное сделать? Искал на форумах, вроде никто таким не занимался

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

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

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


moonlite

Ответ № 7330 05 Февраля 2019 в 16:46
fa_volumeid
Это метка тома. Файл с таким атрибутом только один может быть, в корне файловой системы. У тебя fa_directory должно быть.

Doctor_Hummer
Подозрительно
Активный участник
**

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

Сообщений: 168


Боль

Ответ № 7331 07 Февраля 2019 в 08:09
fa_volumeid
Это метка тома. Файл с таким атрибутом только один может быть, в корне файловой системы. У тебя fa_directory должно быть.
Спасибо, не знал.
Поиск по всем папкам удалось реализовать, а вот когда приспичило искать папки внутри каждой папки, они по какой то причине сохраняются не строкой с названием, а как . или ..

В чем может быть причина?

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

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

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


moonlite

Ответ № 7332 07 Февраля 2019 в 09:31
Имена . и .. это текущая и родительская папки. Просто игнорируй их.

Doctor_Hummer
Подозрительно
Активный участник
**

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

Сообщений: 168


Боль

Ответ № 7333 07 Февраля 2019 в 09:44
Имена . и .. это текущая и родительская папки. Просто игнорируй их.
Уже знаю что это, но мне каким то образом надо не включать их в общую систему. Дело в том что когда я ищу все директории, я записываю их в лист, в итоге помимо папок туда попадают ещё и . и .., а значит в них тоже осуществляется поиск (например в то время как в лист добавляется F:/directory/foldername1/foldername2/pic.png), туда же добавляется F:/directory/foldername1/../pic.png) и это вызывает жуткие проблемы..

Я пытался каким то вялым способом ограничить эти директории от добавления в лист

  foldername2=file_find_first(directory+ds_list_find_value(folder_array,i)+"\"+'*',fa_directory)
  while (foldername2 != '')
  {
    if directory_exists(directory+ds_list_find_value(folder_array,i)+"\"+foldername2) and (foldername2!='.' or foldername2!='..')
    {
      show_message(directory+ds_list_find_value(folder_array,i)+"\"+foldername2)
      ds_list_add(folder2_array, foldername2);
    }
    foldername2=file_find_next()
  }

Если что этот код идет в цикле поиска файлов в папках (где все папки лежат в листе folder_array), и в этих папках ищутся подпапки (foldername2) и добавляются в folder2_array

Но туда же ещё добавляются . и .. и
show_message(directory+ds_list_find_value(folder_array,i)+"\"+foldername2)
показывает их помимо папок в листе.
Последнее редактирование: 07 Февраля 2019 в 09:50 от Doctor_Hummer

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

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

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


moonlite

Ответ № 7334 07 Марта 2019 в 23:19
Странная вещь этот GMS 1.4 для Windows.
Открываю текстовый файл для записи — открывается. Пишу туда данные — записываются. Закрываю файл — всё в порядке.
В чём подвох, спросите вы? Всё это прекрасно работает в том случае, если файл уже существует и защищён от записи, а также если  существует каталог с таким именем. Куда при этом записываются данные на самом деле — тайна великая. Мне надо определить, записаны реально данные в файл или нет.
С каталогом я разобрался, если до записи существует каталог с указанным именем, значит фейл. Но вот защита от записи по атрибуту не проверяется.

Edit. Вместо условия
file_attributes(filename,fa_readonly)
надо проверять
file_attributes(filename,0)&fa_readonly
Кто знал, что всё так просто...
Последнее редактирование: 07 Марта 2019 в 23:48 от tolich

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

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

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


moonlite

Ответ № 7335 02 Апреля 2019 в 21:50
Если в меню пункты можно выбирать и стрелками, и мышкой, то если мышка наведена на пункт меню, стрелки не работают. Решения возможны разные:
— игнорировать мышь, если координаты не поменялись с прошлого раза (или поменялись меньше чем на 5 пикселей, например, чтобы игнорировать сползающую со стола мышку),
— при нажатии стрелок двигать курсор на выбранный пункт меню (или, наоборот, выталкивать за пределы меню),
— после нажатия стрелки в течение определённого времени игнорировать мышку.

Какой вариант кажется наиболее удобным?

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

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

Сообщений: 148


12.8 Gb

Ответ № 7336 03 Апреля 2019 в 14:22
Третий вариант мой любимый (нет). Его часто используют производители тачпадов для защиты от нажатия и перемещения во время печати. Без откручивания чувствительности/задержки в 0 пользоваться принципиально невозможно.

Второй вроде ок, только можно курсор не выталкивать, а тупо скрывать (до первого движения мышью).
tolich
to ne lich
Ветеран форума
*****

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

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


moonlite

Ответ № 7337 03 Апреля 2019 в 15:56
Второй вроде ок, только можно курсор не выталкивать, а тупо скрывать (до первого движения мышью).
Если курсор просто спрятать, он всё равно остаётся над пунктом меню. Если код выбора пункта меню по положению мышки не учитывает видимость курсора, он всё равно будет мешать выбирать пункты меню стрелками. Если учитывает — это вариант "игнорировать мышь".

Важное уточнение: мышкой пункты меню выбираются не щелчком, а наведением. Щелчок запускает выбранный пункт меню.

Первый вариант означает: координаты предыдущего положения курсора хранятся и сравниваются с новыми, код выбора пунктов меню не выполняется, если мышь не сдвинулась (эмулятор события Mouse Move).

Второй пункт означает что курсор мыши принудительно перемещается либо на выбранный пункт меню, либо вообще за пределы меню. В первом случае код выбора пунктов меню выберет тот пункт меню, который и так выбран. Во втором случае он ничего не будет делать.

Третий вариант отключает выбор мышкой вообще или на время.

Возможно, мне стоит просто отказаться от выбора пунктов меню при наведении курсора. Тогда при нажатии кнопки мыши пункт выбирается, при отпускании (на том же пункте) — выполняется. Самое главное — мышка не мешает стрелкам.

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

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

Сообщений: 175


Старый казуал =(

Ответ № 7338 03 Апреля 2019 в 22:17
   Голосую за первый. Ощущения от третьего варианта у меня вообще довольно неприятные.
Макасин
[s]
Младший администратор
Старожил
******

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

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


[/s]

Ответ № 7339 04 Апреля 2019 в 02:31
Совмещай первый и третий в вариант: "после нажатия стрелки в течение определённого времени игнорировать мышку до изменения координат".
Это самое логичное, если пользователь начал использовать стрелки — мышь ему не нужна или временно не нужна, можно смело её игнорировать и спрятать курсор.

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
tolich
to ne lich
Ветеран форума
*****

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

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


moonlite

Ответ № 7340 04 Апреля 2019 в 09:04
Спрятать в смысле "сделать невидимым"? Это не поможет.

Проблема не в том, что курсор отвлекает пользователя или ещё что-нибудь.

Проблема в том, что курсор не даёт сделать выбор.

Страниц: 1 ... 363 364 365 366 367 368 369 370   Вверх
  Печать  
 
Перейти в:  

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