Hummer
scio me nihil scire
GM Pro user
Репутация: 335
Offline
Пол:  Награды:  ![За постоянность! [100 дней на форуме] За постоянность! [100 дней на форуме]](http://forum.hellroom.ru/awards/79b1a4915bff7098a4a1984ad370be2c_hellroomforum_time_bronze.gif) ![За лояльность! [+300 репутации] За лояльность! [+300 репутации]](http://forum.hellroom.ru/awards/8ff7443ce508760cfbf715910b3eb0b3_hellroomforum_good_copper.gif)  
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573
|
 |
« Ответ #30 : Декабрь 19, 2010, 11:50:54 » |
|
Всё пркольно, только есть баг: когда включаешь тестировать, но объект который не движется (круг) он начинает либо стоять на месте, а потом прыгать, либо вообще не движется а так + совершенствуй дальше)
|
|
|
Записан
|
Есть вещи, которые нельзя объяснить. Для всего остального есть Справка Рандом-рандом-рандомище (с)  C++ & OpenGL
|
|
|
Fantom
I am... All of me
Гл. Администратор
Репутация: 1325
Offline
Пол:  Награды:  ![За постоянность! [500 дней на форуме] За постоянность! [500 дней на форуме]](http://forum.hellroom.ru/awards/e0371460a203dd46d2dc161571bf6144_hellroomforum_time_gold.gif) ![За лояльность! [+1000 репутации] За лояльность! [+1000 репутации]](http://forum.hellroom.ru/awards/49d1e615667c15086498002286ccd3e9_hellroomforum_good_gold.gif)   ...
API: GameMaker Studio Master
Сообщений: 5026
|
 |
« Ответ #31 : Декабрь 19, 2010, 13:00:49 » |
|
Новая версия:- запретил ставить второй центр, когда ставится первый. То есть нельзя ставить центр сразу обоим объектам. - увеличенный вид.  - звук при нажатии на кнопку. [прикрепленный документ удален администратором]
|
|
« Последнее редактирование: Июнь 04, 2012, 17:50:53 от FanTom »
|
Записан
|
|
|
|
Данила
Участник
  
Репутация: 26
Offline
Пол:  Награды: ![За постоянность! [100 дней на форуме] За постоянность! [100 дней на форуме]](http://forum.hellroom.ru/awards/79b1a4915bff7098a4a1984ad370be2c_hellroomforum_time_bronze.gif)
API: Game Maker 8.0 Pro
Деятельность: Скриптописатель-любитель
Сообщений: 117
|
 |
« Ответ #32 : Декабрь 19, 2010, 16:25:03 » |
|
А может её в exe скомпилировать и в раздел программ добавить?
|
|
|
Записан
|
|
|
|
Hummer
scio me nihil scire
GM Pro user
Репутация: 335
Offline
Пол:  Награды:  ![За постоянность! [100 дней на форуме] За постоянность! [100 дней на форуме]](http://forum.hellroom.ru/awards/79b1a4915bff7098a4a1984ad370be2c_hellroomforum_time_bronze.gif) ![За лояльность! [+300 репутации] За лояльность! [+300 репутации]](http://forum.hellroom.ru/awards/8ff7443ce508760cfbf715910b3eb0b3_hellroomforum_good_copper.gif)  
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573
|
 |
« Ответ #33 : Декабрь 19, 2010, 16:31:03 » |
|
А может её в exe скомпилировать и в раздел программ добавить?
Поддерживаю, только мне кажется FanTom не угомонится) Фантазия большая. И действительно тут можно столько по напридумывать...
|
|
|
Записан
|
Есть вещи, которые нельзя объяснить. Для всего остального есть Справка Рандом-рандом-рандомище (с)  C++ & OpenGL
|
|
|
Dva_Kota
|
 |
« Ответ #34 : Декабрь 19, 2010, 17:04:45 » |
|
Рано ее в exe. Тут еще много чего можно добавить.  Нужно еще добавить очистку памяти (если еще не добавлена, я не смотрел последнюю версию).
|
|
|
Записан
|
|
|
|
Fantom
I am... All of me
Гл. Администратор
Репутация: 1325
Offline
Пол:  Награды:  ![За постоянность! [500 дней на форуме] За постоянность! [500 дней на форуме]](http://forum.hellroom.ru/awards/e0371460a203dd46d2dc161571bf6144_hellroomforum_time_gold.gif) ![За лояльность! [+1000 репутации] За лояльность! [+1000 репутации]](http://forum.hellroom.ru/awards/49d1e615667c15086498002286ccd3e9_hellroomforum_good_gold.gif)   ...
API: GameMaker Studio Master
Сообщений: 5026
|
 |
« Ответ #35 : Декабрь 19, 2010, 20:11:26 » |
|
Нужно еще добавить очистку памяти (если еще не добавлена, я не смотрел последнюю версию).
А от чего очищать и как это делается?  И еще вопрос: Явилась такая же проблема, что была со спрайтами, но теперь с фонами.  Стандартные *.gmbck загружаются, а другие нет. Ищу решение  Код такой: show_message('Выберите фоновое изображение'); spr1 = get_open_filename ('Backgrouns (*.gmbck;*.bmp;*.png;*.jpg;*.gif)|*.gmbck;*.bmp;*.png;*.jpg;*.gif',''); if spr1 != '' { if filename_ext(spr1) = '.gmbck' {background_replace_background(back0,spr1);} else {room_set_background(room0,background_add_background(spr1),1,0,0,0,0,1,1,0,0,1);} } back0 - фоновое изображение, которое включено в комнате и состоит из пары пикселей, в общем пустое. У замены спрайта примерно такой же код: проверяет, если расширение стандартное GM, то делать одно, иначе другое. Вот это другое с фонами и не работает (room_set_background) :-\ только мне кажется FanTom не угомонится) Фантазия большая. И действительно тут можно столько по напридумывать...
Естественно ;D Это ж такое саморазвитие и опыт ;) На самом деле, с загрузкой ресурсов я раньше работал, но очень мало, а с диалогами в GM я здесь вобще впервые работаю... 
|
|
|
Записан
|
|
|
|
Dva_Kota
|
 |
« Ответ #36 : Декабрь 19, 2010, 20:30:46 » |
|
Не работает по тому что background_replace_background() заменяет один бэкграуд другим. Но у тебя другого бэкграунда пока что нет. Ты просто открыл файл, но не сказал но не добавил то, что находится в этом файле в список имеющихся бэкграундов. Это делается с функцией background_add() (по аналогии с добавлением спрайтов - там такая же ошибка была). Думаю дальше разберешься.  background_add(fname,removeback,smooth) Добавляет изображение, хранящееся в файле fname к фоновым ресурсам. Много различных типов изображений могут быть загружены. Если изображение имеет альфа-канал, он будет использован для определения прозрачности. removeback указывает, следует ли сделать все пиксели с цветом фона (левый нижний пиксель) прозрачными.smooth указывает на сглаживание границ. Функция возвращает индекс нового фона, который можно затем использовать чтобы рисовать его или присвоить переменной background_index[0], чтобы сделать его видимым в этой комнате. При возникновении ошибки возвращается -1.
|
|
|
Записан
|
|
|
|
Fantom
I am... All of me
Гл. Администратор
Репутация: 1325
Offline
Пол:  Награды:  ![За постоянность! [500 дней на форуме] За постоянность! [500 дней на форуме]](http://forum.hellroom.ru/awards/e0371460a203dd46d2dc161571bf6144_hellroomforum_time_gold.gif) ![За лояльность! [+1000 репутации] За лояльность! [+1000 репутации]](http://forum.hellroom.ru/awards/49d1e615667c15086498002286ccd3e9_hellroomforum_good_gold.gif)   ...
API: GameMaker Studio Master
Сообщений: 5026
|
 |
« Ответ #37 : Декабрь 19, 2010, 21:19:46 » |
|
Ок. Заработало ;) Только немного другим путем: сначала добавлением (add), потом присвоением к уже имеющемуся (assign)...
Новая версия: - стандартная башня получше и поворачивается во время тестирования. - установка своего фонового рисунка. - кнопка смены цвета текста. - и кнопка выхода из программы.
И вот какая особенность выяснилась на тему оптимизации: Маленький background, но дублируемый большое количество раз в комнате, серьезно снижает производительность. Большой background не тормозит, но делает размер игры больше. Поэтому при выборе фоновых рисунков предстоит выбор между производительностью или размером игры.
[прикрепленный документ удален администратором]
|
|
« Последнее редактирование: Июнь 04, 2012, 17:51:21 от FanTom »
|
Записан
|
|
|
|
Dva_Kota
|
 |
« Ответ #38 : Декабрь 19, 2010, 21:57:42 » |
|
Я забыл про очистку памяти ответить. Нужно выгружать из памяти спрайты, которые уже не используются. Например нужно выбрать центры для 10 видов оружия. Когда сделал для одного, загружаешь новый спрайт, а старый нужно удалить из памяти (есть, кажется, такая функция). Еще я использую dll CleanMem.dll
|
|
|
Записан
|
|
|
|
Fantom
I am... All of me
Гл. Администратор
Репутация: 1325
Offline
Пол:  Награды:  ![За постоянность! [500 дней на форуме] За постоянность! [500 дней на форуме]](http://forum.hellroom.ru/awards/e0371460a203dd46d2dc161571bf6144_hellroomforum_time_gold.gif) ![За лояльность! [+1000 репутации] За лояльность! [+1000 репутации]](http://forum.hellroom.ru/awards/49d1e615667c15086498002286ccd3e9_hellroomforum_good_gold.gif)   ...
API: GameMaker Studio Master
Сообщений: 5026
|
 |
« Ответ #39 : Декабрь 19, 2010, 22:33:01 » |
|
Новая версия: - кнопки Image speed и Image index. - использование функций *_delete при загрузке спрайтов и фона для освобождения памяти.
[прикрепленный документ удален администратором]
|
|
« Последнее редактирование: Июнь 04, 2012, 17:51:38 от FanTom »
|
Записан
|
|
|
|
Hummer
scio me nihil scire
GM Pro user
Репутация: 335
Offline
Пол:  Награды:  ![За постоянность! [100 дней на форуме] За постоянность! [100 дней на форуме]](http://forum.hellroom.ru/awards/79b1a4915bff7098a4a1984ad370be2c_hellroomforum_time_bronze.gif) ![За лояльность! [+300 репутации] За лояльность! [+300 репутации]](http://forum.hellroom.ru/awards/8ff7443ce508760cfbf715910b3eb0b3_hellroomforum_good_copper.gif)  
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573
|
 |
« Ответ #40 : Декабрь 20, 2010, 05:24:06 » |
|
Круто ;) Сделай ещё кнопки чтобы изменять скорость объектов, и тогда у тебя будет свой почти гейм мейкер))
|
|
|
Записан
|
Есть вещи, которые нельзя объяснить. Для всего остального есть Справка Рандом-рандом-рандомище (с)  C++ & OpenGL
|
|
|
Dva_Kota
|
 |
« Ответ #41 : Декабрь 20, 2010, 17:41:23 » |
|
Очень хорошо сделал. Отлично! ;) Только вот что еще, мне кажется нужно изменить: 1. Кнопки для выбора центров расположить немного дальше друг от друга или сделать им контуры, а то они сливаются и сначала трудно сориентироваться где заканчивается одна кнопка и начинается следующая. 2. Можно было бы выводить координаты центров спрайтов постоянно, а не только при нажатии кнопки. 3. Было бы очень удобно, если при выборе спрайтов программа запоминала бы папку, из которой они были выбраны. Это очень удобно: обычно, все спрайты лежат или в одной папке, или рядом. И вот еще какая у меня идея есть! При замене спрайтов не всегда удобно выбирать их вручную из папки. Вот что я предлагаю: В папке с программой создать папку, в которую можно поместить спрайты, над которыми будем "ставить опыты". При запуске программа проверяет есть ли в этой папке спрайты. Если есть - устанавливает первые два найденных спрайта для наших двух объектов (проверять по именам, я думаю, не очень удобно), а если там нет спрайтов - ставим спрайты по умолчанию. И еще добавить кнопку "обновить спрайты". Это для того, чтобы можно было не перезагружая программу закинуть в папку новые спрайты и сразу их применить к объектам (спрайты в папке можно удалять после загрузки, они используются только один раз - когда загружаются). И еще одну кнопку добавить "открыть папку со спрайтами" при нажатии которой в проводнике виндовс открывается эта папка. И еще нужна будет кнопка "поменять объекты местами" (ну или "поменять спрайты местами") - на тот случай если спрайты будут загружены не в том порядке. Ну вот примерно так. 
|
|
|
Записан
|
|
|
|
Данила
Участник
  
Репутация: 26
Offline
Пол:  Награды: ![За постоянность! [100 дней на форуме] За постоянность! [100 дней на форуме]](http://forum.hellroom.ru/awards/79b1a4915bff7098a4a1984ad370be2c_hellroomforum_time_bronze.gif)
API: Game Maker 8.0 Pro
Деятельность: Скриптописатель-любитель
Сообщений: 117
|
 |
« Ответ #42 : Декабрь 22, 2010, 15:52:19 » |
|
И ещё очень нужно бы, чтобы при нажатию кнопки на клавиатуре, все кнопки на экране прятались. А то если спрайты большие-кнопки мешают их ставить вручную.
|
|
|
Записан
|
|
|
|
Fantom
I am... All of me
Гл. Администратор
Репутация: 1325
Offline
Пол:  Награды:  ![За постоянность! [500 дней на форуме] За постоянность! [500 дней на форуме]](http://forum.hellroom.ru/awards/e0371460a203dd46d2dc161571bf6144_hellroomforum_time_gold.gif) ![За лояльность! [+1000 репутации] За лояльность! [+1000 репутации]](http://forum.hellroom.ru/awards/49d1e615667c15086498002286ccd3e9_hellroomforum_good_gold.gif)   ...
API: GameMaker Studio Master
Сообщений: 5026
|
 |
« Ответ #43 : Декабрь 22, 2010, 15:53:24 » |
|
И ещё очень нужно бы, чтобы при нажатию кнопки на клавиатуре, все кнопки на экране прятались. А то если спрайты большие-кнопки мешают их ставить вручную.
Это уже есть в новой версии ;) Сегодня вечером выложу 
|
|
|
Записан
|
|
|
|
Fantom
I am... All of me
Гл. Администратор
Репутация: 1325
Offline
Пол:  Награды:  ![За постоянность! [500 дней на форуме] За постоянность! [500 дней на форуме]](http://forum.hellroom.ru/awards/e0371460a203dd46d2dc161571bf6144_hellroomforum_time_gold.gif) ![За лояльность! [+1000 репутации] За лояльность! [+1000 репутации]](http://forum.hellroom.ru/awards/49d1e615667c15086498002286ccd3e9_hellroomforum_good_gold.gif)   ...
API: GameMaker Studio Master
Сообщений: 5026
|
 |
« Ответ #44 : Декабрь 22, 2010, 19:00:28 » |
|
Круто ;) Сделай ещё кнопки чтобы изменять скорость объектов, и тогда у тебя будет свой почти гейм мейкер))
Подумать только: начинали с "калькулятора", а заканчиваем почти конструктором  Тогда насчет этого у меня свои мысли. Может лучше сделать выбор между управлением? 1 вид. Как сейчас в редакторе - Вперед/назад и повороты. 2 вид. Вперед/назад и боковое движение (strafe). 3 вид. 2D управление: нажал влево - пошел влево, нажал вправо - вправо. А также выбор между моментальным и плавным перемещением дополнительного объекта в нужную точку. Первое в случае с башней (частью игрока), второе в случае с летающим рядом с игроком объектом. Новая версия: ;) 1. Кнопки для выбора центров расположить немного дальше друг от друга или сделать им контуры, а то они сливаются и сначала трудно сориентироваться где заканчивается одна кнопка и начинается следующая.
Есть. 2. Можно было бы выводить координаты центров спрайтов постоянно, а не только при нажатии кнопки.
Есть. 3. Было бы очень удобно, если при выборе спрайтов программа запоминала бы папку, из которой они были выбраны. Это очень удобно: обычно, все спрайты лежат или в одной папке, или рядом.
Есть. В папке с программой создать папку, в которую можно поместить спрайты, над которыми будем "ставить опыты"...
Есть. И еще добавить кнопку "обновить спрайты"...
Вместо этого есть кнопка Рестарт, чтобы начать всё заново, и, соответственно, новые спрайты тоже загружатся. И еще одну кнопку добавить "открыть папку со спрайтами" при нажатии которой в проводнике виндовс открывается эта папка.
Есть, но с некоторыми особенностями. Если запускать программу из-под оболочки (кнопкой Play в Game Makere), то будет открываться временная папка. Поэтому лучше сначала откомпилировать программу, а потом уже ее запускать. И еще нужна будет кнопка "поменять объекты местами" (ну или "поменять спрайты местами") - на тот случай если спрайты будут загружены не в том порядке.
Есть. И ещё очень нужно бы, чтобы при нажатию кнопки на клавиатуре, все кнопки на экране прятались. А то если спрайты большие-кнопки мешают их ставить вручную.
Есть. [прикрепленный документ удален администратором]
|
|
« Последнее редактирование: Июнь 04, 2012, 17:51:58 от FanTom »
|
Записан
|
|
|
|
|