Еще одним интересным вариантом было бы использование стандартного формата .gmspr (что может быть быстро загружен через sprite_add_sprite), но возможности сохранять его из игры нет, и никакой документации по формату мне пока находить не доводилось.
В редактировании файла можно выбрать "сохранить как png", не упускай этого момента ))) GMS MC
Так получилось, что все файлы с диска С были утрачены, восстановить уже нельзя. На флешке был до этого сохранён ехе игры. Это первый проект, который должна была выпустить моя команда (((. Помогите, пожалуйста, нужен рабочий декомпилятор ехе в gmk.
Добавлено (12.04.2013, 01:50) --------------------------------------------- Спасибо, я сам разобрался ))) очень рад. Всего лишь нужно было кинуть ехешник на иконку декомпилятора.
Всё :))) я справился ))) в отпускании кнопки атаки поставил image_speed=0; image_index=0; Работает! Видимо, это зависило от image_speed, которое у меня через case реализованно, другого объяснения у меня нет GMS MC
Сообщение отредактировал cosferaps - Среда, 24 Октября 2012, 16:36
Всем привет! У меня странная проблема. Анимация удара персонажа, когда он стоит работает нормально, но если нажать кнопку атаки на ходу, то она начинается не с того кадра, не понимаю почему. Помогите пожалуйста.
Ещё при ударе персонаж у меня останавливается, и совершается анимация. Т.е. в отпускании кнопки удара hspeed=0
Добавлено (24.10.2012, 14:57) --------------------------------------------- а ещё у меня меняется в этот момент скорость анимации на 0.3 : image_speed=0.3 Возможно ли, что это как-то влияет?
Добавлено (24.10.2012, 14:57) --------------------------------------------- Потому что начинается анимация с 3-его индекса
Saladin, ну если ты можешь это всё с Делфи на ГМЛ перевести, давай дерзай, я посмотрю
Добавлено (19.08.2012, 13:32) --------------------------------------------- Maxaon, да, неплохая идея, но я боюсь, что таким образом может образоваться "ложный" путь, в результате чего юнит обойдёт всю карту вокруг, вместо того, чтобы сделать 4 шага напрямую к цели, допустим.
LisTen, вот тебе фрагмент справки, читай и наслаждайся :
Существует стандартный механизм для хранения настроек программ – INI файлы (файлы инициализации). INI файл содержит секции, а в каждой секции пары ключ-значение. Вот пример типичного INI файла:
[Form] Top=100 Left=100 Caption=The best game ever [Game] MaxScore=12324
Файл содержит две секции – Form и Game. Первая секция содержит 3 пары, две из которых – числовые, а третья - строковая. Подобные INI файлы очень легко создавать и изменять. Следующие функции Game Maker предназначены для считывания и записи в INI файлах:
ini_open(name) Открывает INI файл с именем name. Файл должен храниться в папке с игрой. ini_close() Закрывает открытый INI файл (нельзя открыть несколько INI файлов одновременно). ini_read_string(section,key,default) Возвращает строковое значение записи из секции section, с ключом key. Если такой пары ключ-значение не существует, то возвращается строка default. ini_read_real(section,key,default) Возвращает числовое значение записи из секции section, с ключом key. Если такой пары ключ-значение не существует, то возвращается число default. ini_write_string(section,key,value) Записывает в секцию section пару с ключом key и строковым значением value. ini_write_real(section,key,value) Записывает в секцию section пару с ключом key и числовым значением value. ini_key_exists(section,key) Возвращает true, если в секции section существует ключ key. ini_section_exists(section) Возвращает true, если секция с именем section существует. ini_key_delete(section,key) Удаляет ключ с именем key из секции с именем section. ini_section_delete(section) Удаляет секцию с именем section.
Для того чтобы создать INI файл, приведённый выше, используется следующий код:
ini_write_real(‘FORM’,’Top’,100); ini_write_real(‘FORM’,’Left’,100); ini_write_string(‘FORM’,’Caption’,’ The best game ever’); ini_write_real(‘Game’,’MaxScore’, 12324);
В твоём случае секцией является [primer], а ключами name, id, coordinates. Вот и подставляй всё что нужно в приведённые выше функции, ничего сложного.
Добавлено (16.08.2012, 10:32) --------------------------------------------- Да, ещё перед тем, как записывать/считывать что-то в ини-файл пишешь ini_open(name) , а после записи/чтения ini_close().
что мешает посмотреть справку? Если ты новичок, то ознакомься со справкой и кодом, который там написан, десяткам людей жизнь облегчишь, если не будешь 2+2 спрашивать чему равно
ilgamer, поставь переменную-счётчик, чтобы жизни отбавлялись с определённым промежутом времени, тогда и спрайты будут успевать меняться. Например: Create: o=true; b=10; В столкновении: if o=true{o=false b=0 blives-=1} Step: if b<=9 {b+=1}; if b=10 {o=true}; Что-то типа этого GMS MC
Gavolot, я нашёл, но разобраться не получилось, слишком там много всего
Добавлено (15.08.2012, 00:54) --------------------------------------------- Есть ещё какие-нибудь идеи? Или хотя бы пример реализации этого дейкстра на гамаке?
lokinam, 1) с пружиной вроде просто сделай, чтобы у неё выбиралось направление, или же оно уже задано (через direction). При столкновении с игроком у игрока пиши direction=o_prujina.direction; speed=10 (подкорректируешь) и он, если я не ошибаюсь, полетит в заданном направлении. 2-3) Паутина и лестница, вроде, одно и тоже по своей реализации, просто разной формы. У тебя должно стоять условие на ограничение гравитации(я как понял, что ты платформер делаешь), т.е. когда ты на земле, то gravity=0. Добавь к этому ограничению условие and place_meeting(x,y,название_объекта_лестницы_или_чего-то_ещё), и переменную задай у ГГ, которая определяет на лестнице он или нет. В зависимости от её значения сделаешь уже передвижение во все четыре стороны по лестнице(принцип такой, по крайней мере) 4) Труба реализуется так же, как и пружина, только с условием ограничения гравитации, как у лесенки 5)я не понял, что это. Если активация какой-либо способности за определённые очки, то тоже легко 6) этого пункта я не заметил 7)Это уже совсем элементарно. При столкновении пишешь x=куда_надо, у=куда_надо, только при таком варианте "куда_надо" должно быть рядом с портало, а не совпадать с его координатами(сам понимаешь, почему). Можно и через нажатие кнопки GMS MC
RUNGOGET2THECHOPAH, то есть у нас получается массив массивов что-ли ? или как? Или массив с рамками по бокам. Нет наглядного примера, что было и что получилось? GMS MC
RUNGOGET2THECHOPAH, я не понимаю этого Скорее вопрос: как массив в графы переделать. Я так-то совсем не математик, да ещё и с температурой нужно что-то попонятнее GMS MC
GameMix, спасибо ну изобразить и я могу, а вот с реализацией как быть. Я когда по волновому искал, там вообще всё просто, записывал координаты в другой массив и путь из них составлял потом. А тут, как сравнить всё это нагромождение, и нужное в конце выявить? GMS MC
Всем привет! Делаю пошаговую стратегию, неожиданно возникла потребность в создании поиска пути по массиву с рандомными числами. Вот я думаю, и никак не пойму, как же мне сделать, чтобы путь проходил через более выгодные ячейки массива(с наименьшими значениями) к заданной цели. Подскажите пожалуйста, как это можно осуществить? У кого какие соображения на этот счёт, может у кого какой-либо пример есть? GMS MC
Сообщение отредактировал cosferaps - Понедельник, 13 Августа 2012, 14:23
Всем привет ! Помогите, пожалуйста, с такой вот задачкой. Уже имеется массив из двух строк заполненный координатами точек пути (х - в первой строке, у - во второй). Как мне составить из этих точек путь, что нужно? Напишите маленький пример по возможности. Справку читал, но не очень понял, как это всё взаимодействует. Заранее большое спасибо !!! GMS MC
Было бы проще сделать так: В событии нажатии мыши: if a=1 {vibor=true a=0}; В глобальном событии отпускания мыши(или когда там нужно): vibor=false; a=1; В степе: if vibor {sprite_index=1}else{sprite_index=0}; GMS MC