Пятница, 22 Ноября 2024, 13:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Внешние ресурсы в Game Maker
GameMixДата: Среда, 02 Февраля 2011, 10:07 | Сообщение # 1
старожил
Сейчас нет на сайте
Здравствуйте! Скажите, пожалуйста, как добавить спрайты, звуки, фоны во время игры из внешней папки?
Пользуюсь этой функцией для добавления в игру спрайта: sprite_add(fname,imgnumb,removeback,smooth,xorig,yorig). Но выдает ошибку (-1).
Заранее спасибо!


Steel Standoff - 2D аркада.
Мои статьи
SlavecДата: Среда, 02 Февраля 2011, 10:37 | Сообщение # 2
GameDev - площадка для творчества
Сейчас нет на сайте
Code
sp_player = sprite_add('resurs\sprites\spr_player.png',1,0,0,16,16);

Это при том, что файл находится в папке sprites.
А в целом, советую почитать эту статью.
stalkeryaДата: Среда, 02 Февраля 2011, 10:57 | Сообщение # 3
Пользователь Blender 2.5
Сейчас нет на сайте
Code
sprite_replace(название спрайта,путь к нему,0,убрать фон?решать тебе,0,0,0)


Бросила девушка после того, как узнала, что я перешел с гм на Construct.
GameMixДата: Среда, 02 Февраля 2011, 11:08 | Сообщение # 4
старожил
Сейчас нет на сайте
Slavec, Спасибо за помощь. Отдельное спасибо за статью smile

Добавлено (02.02.2011, 11:08)
---------------------------------------------
stalkerya, мне нужно добавлять спрайт из папки, а не заменять его. Я, в общем, разобрался еще до ответа Slavec, не успел дать отбой.=)
Но все же, спасибо, что откликнулся!


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал аТнОтХоАн - Среда, 02 Февраля 2011, 11:09
Made_In_USSRДата: Среда, 02 Февраля 2011, 12:34 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Вот еще сопутствующий вопрос:
Ресурсы из внешних папок загружаются не мгновенно, а если их много и они достаточно обьемные, то загрузка может занять относительно длительное время (тормозит игра, как сказано в статье по сцылке).
Можно ли как то отследить загрузку этих самых ресурсов или инициализацию их переменных (ресурс загружен в память - переменная инициализирована)?

Для примера: есть игра, общий обьем графики на уровень в которой около 20-30 мегабайт (возможно и больше, цифры из головы). Чтобы загрузить такой обьем графики нужно немало времени. Хотелось бы выводить в комнате первым делом картинку выполняющую функцию экрана загрузки, которая висела бы на экране до загрузки всех ресурсов и потом чудесным образом исчезала. Возможно даже прикрутить туда полосу загрузки, но с этим я уже сам разберусь.


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Среда, 02 Февраля 2011, 13:04 | Сообщение # 6
__танцуй!__
Сейчас нет на сайте
Made_In_USSR, такое очень даже реализуемо, смотри исходник моего запаковщика: тема

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Dva_KotaДата: Среда, 02 Февраля 2011, 13:04 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Не пробывал такое делать, но думаю перед загрузкой ресурсов можно загрузить эту картинку, отобразить ее. Саму загрузку ресурсов делать не в событии создания объекта-загрузчика, а в событии alarm0. В событии создания объекта-загрузчика только загрузка ресурсов, необходимых для отображения экрана загрузки (та самая картинка, про которую ты говоришь). Все это в отдельной комнате (или в комнате "меню", но тогда еще загрузи элементы меню). А событии создания, после загрузки "картинки загрузки" отображаем эту картинку и устанавливаем alarm[0]=1. В событии alarm0 загружаем все ресурсы и переходим в следующую комнату (или удаляем объект, показывающий загрузку). Ну как-то так...

Новый пример инвентаря! /20.06.2012/

Energy Wars
NeZnayuДата: Среда, 02 Февраля 2011, 13:11 | Сообщение # 8
__танцуй!__
Сейчас нет на сайте
На самом деле можно поступить проще, в самом начале игры создать объект с большим depth, у которого в create будет:

1) деактивировать все объекты кроме себя самого
2) список ресурсов для загрузки
3) загружаем ресурсы по очереди из списка, при этом следим за тем какой ресурс по счету обрабатывается в данный момент
4) в конце загрузки каждого ресурса обновляем экран - screen_redraw()
5) когда все ресурсы загружены - удаляем объект, активируем обратно все остальные

В draw:

1) зная общее количество ресурсов и номер того, который обрабатывается в данный момент - можно запросто посчитать процентное соотношение и нарисовать полосу загрузки


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Среда, 02 Февраля 2011, 13:28 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Огромное спасибо вам обоим. Подробно разжевали, за что отдельная благодарность. Буду ковырять.

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг