GooDlike
Пользователь
 
Репутация: 0
Offline
Пол: 
API: GameMaker Studio Standard
Сообщений: 79
|
 |
« Ответ #15 : Декабрь 08, 2016, 19:07:52 » |
|
Ну, раз у вас самостоятельно не получается сложить А и Б, то вот решение. Вбиваем в поиск «параллакс» и находим формулу в этой или одной из множества подобных тем: background_x[0] = view_xview[0] * 0.75; background_y[0] = view_yview[0] * 0.75; background_x[1] = view_xview[0] * 0.50; background_y[1] = view_yview[0] * 0.50; background_x[2] = view_xview[0] * 0.25; background_y[2] = view_yview[0] * 0.25; Здесь можно увидеть, как делается сам параллакс. Эта же формула есть в FAQ II.2.2. Далее, то же самое делается при помощи draw_background: draw_background(bg_back1, view_xview[0] * 0.75, view_yview[0] * 0.75); draw_background(bg_back2, view_xview[0] * 0.50, view_yview[0] * 0.50); draw_background(bg_back3, view_xview[0] * 0.25, view_yview[0] * 0.25); Неужели это так трудно? А, разве первый столбец background_x[0] background[y][0] Не ограничивается 8 слоями или он безграничен? Я думал, что это тоже, что и в редакторе комнат, только кодингом, поэтому и не придал этому значения, в очередной раз благодарю Вас за помощь.
|
|
|
Записан
|
Генерал песчаных карьеров...
|
|
|
Dmi7ry
Гл. Администратор
Репутация: 1379
Offline
Пол:  Награды:  ![За постоянность! [200 дней на форуме] За постоянность! [200 дней на форуме]](https://forum.hellroom.ru/awards/78e87f17e3713947881315332c8ce619_hellroomforum_time_silver.gif) ![За лояльность! [+1000 репутации] За лояльность! [+1000 репутации]](https://forum.hellroom.ru/awards/49d1e615667c15086498002286ccd3e9_hellroomforum_good_gold.gif)   
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626
|
 |
« Ответ #16 : Декабрь 08, 2016, 19:14:28 » |
|
background_x[0] background[y][0] Не ограничивается 8 слоями или он безграничен? Я думал, что это тоже, что и в редакторе комнат, только кодингом Именно. Это смена координат фонов, заданных в комнате, которых может быть максимум восемь штук. Но отсюда вам нужна была только формула (view_xview[0] * 0.75 и т.д). А функциями draw_background можно рисовать вообще любые фоны.
|
|
|
Записан
|
- А какой, собственно, командой процессора колобок ест черта? - Командой EAT... |  | Справка и FAQ в правом верхнем углу... |  |
|
|
|
GooDlike
Пользователь
 
Репутация: 0
Offline
Пол: 
API: GameMaker Studio Standard
Сообщений: 79
|
 |
« Ответ #17 : Декабрь 08, 2016, 20:07:26 » |
|
background_x[0] background[y][0] Не ограничивается 8 слоями или он безграничен? Я думал, что это тоже, что и в редакторе комнат, только кодингом Именно. Это смена координат фонов, заданных в комнате, которых может быть максимум восемь штук. Но отсюда вам нужна была только формула (view_xview[0] * 0.75 и т.д). А функциями draw_background можно рисовать вообще любые фоны. А, как дублировать на всю комнату по х координате этот фон?
|
|
|
Записан
|
Генерал песчаных карьеров...
|
|
|
Goo
ну типа
GM Pro user
Репутация: 163
Offline
Пол:  Награды:  ![Второе место на HellRoom Jam #9 [Антибиотик] Второе место на HellRoom Jam #9 [Антибиотик]](https://forum.hellroom.ru/awards/195ce38974a80fb1fe0e6909737628c8_hj9_silver-1.gif)
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345
|
 |
« Ответ #18 : Декабрь 08, 2016, 20:14:14 » |
|
справка, вроде функция draw_background_scratch, просто почитай в справке, там есть
Добавлено: Декабрь 08, 2016, 20:22:43 если не найдешь, то можно через background_htiled
|
|
« Последнее редактирование: Декабрь 08, 2016, 20:22:43 от Goo »
|
Записан
|
|
|
|
GooDlike
Пользователь
 
Репутация: 0
Offline
Пол: 
API: GameMaker Studio Standard
Сообщений: 79
|
 |
« Ответ #19 : Декабрь 08, 2016, 20:31:52 » |
|
справка, вроде функция draw_background_scratch, просто почитай в справке, там есть
Добавлено: Декабрь 08, 2016, 20:22:43 если не найдешь, то можно через background_htiled
draw_background_stretched? Нет, он растягивает, а нужно дублирование. background_htiled по всей комнате дублирует по х и у.
|
|
|
Записан
|
Генерал песчаных карьеров...
|
|
|
Goo
ну типа
GM Pro user
Репутация: 163
Offline
Пол:  Награды:  ![Второе место на HellRoom Jam #9 [Антибиотик] Второе место на HellRoom Jam #9 [Антибиотик]](https://forum.hellroom.ru/awards/195ce38974a80fb1fe0e6909737628c8_hj9_silver-1.gif)
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345
|
 |
« Ответ #20 : Декабрь 08, 2016, 20:35:08 » |
|
по всей комнате А ты не этого хотел??? По моему все логично. Тогда поясни, что в твоем понятии "Дублирует"... Добавлено: Декабрь 08, 2016, 20:35:55 и у нет, по y-ку background_vtiled Добавлено: Декабрь 08, 2016, 20:43:25 ну или рисуй вручную массивом var i, b=val;
for (i=0;i<n;++i) { draw_back(x+(back_width+b)*i,y,......); draw_back.... ... }
|
|
« Последнее редактирование: Декабрь 08, 2016, 20:43:25 от Goo »
|
Записан
|
|
|
|
Dmi7ry
Гл. Администратор
Репутация: 1379
Offline
Пол:  Награды:  ![За постоянность! [200 дней на форуме] За постоянность! [200 дней на форуме]](https://forum.hellroom.ru/awards/78e87f17e3713947881315332c8ce619_hellroomforum_time_silver.gif) ![За лояльность! [+1000 репутации] За лояльность! [+1000 репутации]](https://forum.hellroom.ru/awards/49d1e615667c15086498002286ccd3e9_hellroomforum_good_gold.gif)   
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626
|
 |
« Ответ #21 : Декабрь 08, 2016, 20:57:57 » |
|
А, как дублировать на всю комнату по х координате этот фон? С помощью draw_background_tiled фон будет рисоваться с заливкой всего пространства. Возможно, что для того, чтобы избежать дублирования по вертикали, придётся увеличить размеры фонов, добавив пустое пространство сверху/снизу. Но это не лучшее решение, так как значительно увеличится размер текстур (возможно, что обрежется студией, тогда вообще никаких проблем, но это нужно проверять). Наиболее оптимально будет рисовать несколько фонов, попадающих в область экрана, самостоятельно. Например, что-то типа var left = view_xview[0]; var right = view_yview[0]+view_wview[0]; for (var i=0; i<room_width; i+=ширина_фона) { if (фон попадает в координаты экрана) draw_background(....); }
|
|
|
Записан
|
- А какой, собственно, командой процессора колобок ест черта? - Командой EAT... |  | Справка и FAQ в правом верхнем углу... |  |
|
|
|
GooDlike
Пользователь
 
Репутация: 0
Offline
Пол: 
API: GameMaker Studio Standard
Сообщений: 79
|
 |
« Ответ #22 : Декабрь 08, 2016, 21:21:56 » |
|
А, как дублировать на всю комнату по х координате этот фон? С помощью draw_background_tiled фон будет рисоваться с заливкой всего пространства. Возможно, что для того, чтобы избежать дублирования по вертикали, придётся увеличить размеры фонов, добавив пустое пространство сверху/снизу. Но это не лучшее решение, так как значительно увеличится размер текстур (возможно, что обрежется студией, тогда вообще никаких проблем, но это нужно проверять). Наиболее оптимально будет рисовать несколько фонов, попадающих в область экрана, самостоятельно. Например, что-то типа var left = view_xview[0]; var right = view_yview[0]+view_wview[0]; for (var i=0; i<room_width; i+=ширина_фона) { if (фон попадает в координаты экрана) draw_background(....); } Печально, а нет функции, вроде встроенной в редактор комнат Tile Hor. и Tile Vert. ?
|
|
|
Записан
|
Генерал песчаных карьеров...
|
|
|
Goo
ну типа
GM Pro user
Репутация: 163
Offline
Пол:  Награды:  ![Второе место на HellRoom Jam #9 [Антибиотик] Второе место на HellRoom Jam #9 [Антибиотик]](https://forum.hellroom.ru/awards/195ce38974a80fb1fe0e6909737628c8_hj9_silver-1.gif)
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345
|
 |
« Ответ #23 : Декабрь 08, 2016, 21:29:39 » |
|
Ты вообще читаешь, то что тебе пишут? А справку смотришь? Печально, а нет функции, вроде встроенной в редактор комнат Tile Hor. и Tile Vert. ? background_htiled // hor background_vtiled // ver
а позицию фона можешь менять с помощью функций которые описаны в соответствующем разделе справки. Либо в ручную, циклом.
|
|
|
Записан
|
|
|
|
GooDlike
Пользователь
 
Репутация: 0
Offline
Пол: 
API: GameMaker Studio Standard
Сообщений: 79
|
 |
« Ответ #24 : Декабрь 08, 2016, 21:35:39 » |
|
Ты вообще читаешь, то что тебе пишут? А справку смотришь? Печально, а нет функции, вроде встроенной в редактор комнат Tile Hor. и Tile Vert. ? background_htiled // hor background_vtiled // ver
а позицию фона можешь менять с помощью функций которые описаны в соответствующем разделе справки. Либо в ручную, циклом. Может сам почитаешь справку? background_htiled работает только на 8 встроенных слоях... он не распространяется на draw_background.
|
|
|
Записан
|
Генерал песчаных карьеров...
|
|
|
Goo
ну типа
GM Pro user
Репутация: 163
Offline
Пол:  Награды:  ![Второе место на HellRoom Jam #9 [Антибиотик] Второе место на HellRoom Jam #9 [Антибиотик]](https://forum.hellroom.ru/awards/195ce38974a80fb1fe0e6909737628c8_hj9_silver-1.gif)
API: GameMaker Studio 2
Деятельность: программист
Сообщений: 1345
|
 |
« Ответ #25 : Декабрь 08, 2016, 21:38:14 » |
|
он не распространяется на draw_background. тебе уже писали, в таком случае, только вручную ( что уже подразумевает отсутствие аналогов tile vwr и прочих)
|
|
|
Записан
|
|
|
|
GooDlike
Пользователь
 
Репутация: 0
Offline
Пол: 
API: GameMaker Studio Standard
Сообщений: 79
|
 |
« Ответ #26 : Декабрь 08, 2016, 23:35:30 » |
|
он не распространяется на draw_background. тебе уже писали, в таком случае, только вручную ( что уже подразумевает отсутствие аналогов tile vwr и прочих) Вот и я сетую на печаль такого исхода... тоже читай, что пишут... спасибо за помощь.
|
|
|
Записан
|
Генерал песчаных карьеров...
|
|
|
|