Game Maker - создание игр | HellRoom Games
Июль 13, 2025, 20:08:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: Программа для прикрепления одного объекта к другому по Lengthdir  (Прочитано 104117 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Hummer
scio me nihil scire
GM Pro user
*

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

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
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 Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+1000 репутации]За отличные статьи по Game Maker!Тру Админ :DЗнаток Game Maker...
API: GameMaker Studio Master
Сообщений: 5026



« Ответ #31 : Декабрь 19, 2010, 13:00:49 »

Новая версия:
- запретил ставить второй центр, когда ставится первый. То есть нельзя ставить центр сразу обоим объектам.
- увеличенный вид.
- звук при нажатии на кнопку.

[прикрепленный документ удален администратором]
« Последнее редактирование: Июнь 04, 2012, 17:50:53 от FanTom » Записан

Данила
Участник
****

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

Пол: Мужской
Награды:
За постоянность! [100 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: Скриптописатель-любитель
Сообщений: 117


WWW
« Ответ #32 : Декабрь 19, 2010, 16:25:03 »

А может её в exe скомпилировать и в раздел программ добавить?
Записан
Hummer
scio me nihil scire
GM Pro user
*

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

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« Ответ #33 : Декабрь 19, 2010, 16:31:03 »

А может её в exe скомпилировать и в раздел программ добавить?
Поддерживаю, только мне кажется FanTom не угомонится) Фантазия большая. И действительно тут можно столько по напридумывать...
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
Dva_Kota
Гл. Администратор
*

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

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #34 : Декабрь 19, 2010, 17:04:45 »

Рано ее в exe. Тут еще много чего можно добавить. 
Нужно еще добавить очистку памяти (если еще не добавлена, я не смотрел последнюю версию).
Записан

Fantom
I am... All of me
Гл. Администратор
*

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

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+1000 репутации]За отличные статьи по Game Maker!Тру Админ :DЗнаток Game Maker...
API: GameMaker Studio Master
Сообщений: 5026



« Ответ #35 : Декабрь 19, 2010, 20:11:26 »

Нужно еще добавить очистку памяти (если еще не добавлена, я не смотрел последнюю версию).
А от чего очищать и как это делается?

И еще вопрос:
Явилась такая же проблема, что была со спрайтами, но теперь с фонами. whistling
Стандартные *.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) :-\

Записан

Dva_Kota
Гл. Администратор
*

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

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #36 : Декабрь 19, 2010, 20:30:46 »

Не работает по тому что background_replace_background() заменяет один бэкграуд другим. Но у тебя другого бэкграунда пока что нет. Ты просто открыл файл, но не сказал но не добавил то, что находится в этом файле в список имеющихся бэкграундов. Это делается с функцией background_add() (по аналогии с добавлением спрайтов - там такая же ошибка была). Думаю дальше разберешься.

Записан

Fantom
I am... All of me
Гл. Администратор
*

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

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+1000 репутации]За отличные статьи по Game Maker!Тру Админ :DЗнаток Game Maker...
API: GameMaker Studio Master
Сообщений: 5026



« Ответ #37 : Декабрь 19, 2010, 21:19:46 »

Ок. Заработало ;)
Только немного другим путем: сначала добавлением (add), потом присвоением к уже имеющемуся (assign)...

Новая версия:
- стандартная башня получше и поворачивается во время тестирования.
- установка своего фонового рисунка.
- кнопка смены цвета текста.
- и кнопка выхода из программы.

И вот какая особенность выяснилась на тему оптимизации:
Маленький background, но дублируемый большое количество раз в комнате, серьезно снижает производительность.
Большой background не тормозит, но делает размер игры больше.
Поэтому при выборе фоновых рисунков предстоит выбор между производительностью или размером игры.

[прикрепленный документ удален администратором]
« Последнее редактирование: Июнь 04, 2012, 17:51:21 от FanTom » Записан

Dva_Kota
Гл. Администратор
*

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

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #38 : Декабрь 19, 2010, 21:57:42 »

Я забыл про очистку памяти ответить.
Нужно выгружать из памяти спрайты, которые уже не используются. Например нужно выбрать центры для 10 видов оружия. Когда сделал для одного, загружаешь новый спрайт, а старый нужно удалить из памяти (есть, кажется, такая функция). Еще я использую dll CleanMem.dll
Записан

Fantom
I am... All of me
Гл. Администратор
*

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

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+1000 репутации]За отличные статьи по Game Maker!Тру Админ :DЗнаток Game Maker...
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 Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« Ответ #40 : Декабрь 20, 2010, 05:24:06 »

Круто  ;) Сделай ещё кнопки чтобы изменять скорость объектов, и тогда у тебя будет свой почти гейм мейкер))
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
Dva_Kota
Гл. Администратор
*

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

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #41 : Декабрь 20, 2010, 17:41:23 »

Очень хорошо сделал. Отлично!  ;)
Только вот что еще, мне кажется нужно изменить:
1. Кнопки для выбора центров расположить немного дальше друг от друга или сделать им контуры, а то они сливаются и сначала трудно сориентироваться где заканчивается одна кнопка и начинается следующая.
2. Можно было бы выводить координаты центров спрайтов постоянно, а не только при нажатии кнопки.
3. Было бы очень удобно, если при выборе спрайтов программа запоминала бы папку, из которой они были выбраны. Это очень удобно: обычно, все спрайты лежат или в одной папке, или рядом.

И вот еще какая у меня идея есть!
При замене спрайтов не всегда удобно выбирать их вручную из папки. Вот что я предлагаю: В папке с программой создать папку, в которую можно поместить спрайты, над которыми будем "ставить опыты". При запуске программа проверяет есть ли в этой папке спрайты. Если есть - устанавливает первые два найденных спрайта для наших двух объектов (проверять по именам, я думаю, не очень удобно), а если там нет спрайтов - ставим спрайты по умолчанию. И еще добавить кнопку "обновить спрайты". Это для того, чтобы можно было не перезагружая программу закинуть в папку новые спрайты и сразу их применить к объектам (спрайты в папке можно удалять после загрузки, они используются только один раз - когда загружаются). И еще одну кнопку добавить "открыть папку со спрайтами" при нажатии которой в проводнике виндовс открывается эта папка. И еще нужна будет кнопка "поменять объекты местами" (ну или "поменять спрайты местами") - на тот случай если спрайты будут загружены не в том порядке. Ну вот примерно так.  
Записан

Данила
Участник
****

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

Пол: Мужской
Награды:
За постоянность! [100 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: Скриптописатель-любитель
Сообщений: 117


WWW
« Ответ #42 : Декабрь 22, 2010, 15:52:19 »

И ещё очень нужно бы, чтобы при нажатию кнопки на клавиатуре, все кнопки на экране прятались. А то если спрайты большие-кнопки мешают их ставить вручную.
Записан
Fantom
I am... All of me
Гл. Администратор
*

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

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+1000 репутации]За отличные статьи по Game Maker!Тру Админ :DЗнаток Game Maker...
API: GameMaker Studio Master
Сообщений: 5026



« Ответ #43 : Декабрь 22, 2010, 15:53:24 »

И ещё очень нужно бы, чтобы при нажатию кнопки на клавиатуре, все кнопки на экране прятались. А то если спрайты большие-кнопки мешают их ставить вручную.
Это уже есть в новой версии ;)
Сегодня вечером выложу
Записан

Fantom
I am... All of me
Гл. Администратор
*

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

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+1000 репутации]За отличные статьи по Game Maker!Тру Админ :DЗнаток Game Maker...
API: GameMaker Studio Master
Сообщений: 5026



« Ответ #44 : Декабрь 22, 2010, 19:00:28 »

Круто  ;) Сделай ещё кнопки чтобы изменять скорость объектов, и тогда у тебя будет свой почти гейм мейкер))

Новая версия: ;)
1. Кнопки для выбора центров расположить немного дальше друг от друга или сделать им контуры, а то они сливаются и сначала трудно сориентироваться где заканчивается одна кнопка и начинается следующая.
Есть.
2. Можно было бы выводить координаты центров спрайтов постоянно, а не только при нажатии кнопки.
Есть.
3. Было бы очень удобно, если при выборе спрайтов программа запоминала бы папку, из которой они были выбраны. Это очень удобно: обычно, все спрайты лежат или в одной папке, или рядом.
Есть.
В папке с программой создать папку, в которую можно поместить спрайты, над которыми будем "ставить опыты"...
Есть.
И еще добавить кнопку "обновить спрайты"...
Вместо этого есть кнопка Рестарт, чтобы начать всё заново, и, соответственно, новые спрайты тоже загружатся.
И еще одну кнопку добавить "открыть папку со спрайтами" при нажатии которой в проводнике виндовс открывается эта папка.
Есть, но с некоторыми особенностями. Если запускать программу из-под оболочки (кнопкой Play в Game Makere), то будет открываться временная папка. Поэтому лучше сначала откомпилировать программу, а потом уже ее запускать.
И еще нужна будет кнопка "поменять объекты местами" (ну или "поменять спрайты местами") - на тот случай если спрайты будут загружены не в том порядке.
Есть.

И ещё очень нужно бы, чтобы при нажатию кнопки на клавиатуре, все кнопки на экране прятались. А то если спрайты большие-кнопки мешают их ставить вручную.
Есть.

[прикрепленный документ удален администратором]
« Последнее редактирование: Июнь 04, 2012, 17:51:58 от FanTom » Записан

Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.171 секунд. Запросов: 30.