| 
	
		
		
			| Внешние ресурсы в 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, Спасибо за помощь. Отдельное спасибо за статью    Добавлено (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 кликать сюда.
 Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
 |  |  |  |  |  
 |