Game Maker - создание игр | HellRoom Games
Январь 15, 2025, 09:04:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Отрисовка тайл-сетов только по горизонтали.  (Прочитано 1541 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dtestd
Посетитель
**

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

API: Game Maker 8.0 Pro
Сообщений: 30


« : Май 14, 2013, 18:32:54 »

Как рисовать тайл-сеты только по горизонтали? На данный момент рисую так -

В Draw event:

draw_background_tiled(background3,0,0);


Нашел на зарубежном форуме.


Скрипты, draw_background_tiled_horizontal и draw_background_tiled_vertical


Код:
/***************************************************
  Usage :   draw_background_tiled_horizontal(back,x,y)
  Arguments :   argument0   ==  background
                argument1   ==  x
                argument2   ==  y
  Event :   draw event
 ***************************************************/
 
 var back,width,xx,yy,left,right,i;
 
 back=argument0;
 width=background_get_width(back);
 xx=argument1;
 yy=argument2;
 left=-1;
 right=view_xview[view_current]/width+view_wview[view_current]/width+1;
 if (view_enabled)
 {
    for (i=left; i<right; i+=1)
    {
        draw_background(back,xx mod width+width*i,yy);
    };
 }
 else
 {
    for (i=-1; i<room_width/width+1; i+=1)
    {
        draw_background(back,xx mod width+width*i,yy);
    };
 };
 


Код:
/***************************************************
  Usage :   draw_background_tiled_vertical(back,x,y)
  Arguments :   argument0   ==  background
                argument1   ==  x
                argument2   ==  y
  Event :   draw event
 ***************************************************/
 
 var back,height,xx,yy,up,down,i;
 
 back=argument0;
 height=background_get_height(back);
 xx=argument1;
 yy=argument2;
 up=-1;
 down=view_yview[view_current]/height+view_hview[view_current]/height+1;
 if (view_enabled)
 {
    for (i=up; i<down; i+=1)
    {
        draw_background(back,xx,yy mod height+height*i);
    };
 }
 else
 {
    for (i=-1; i<room_height/height+1; i+=1)
    {
        draw_background(back,xx,yy mod height+height*i);
    };
 };
 

Пример:

В Draw event

Код:
draw_background_tiled_horizontal(background1,view_xview[view_current]/1.25+100,view_yview[view_current]/1.25+340) // Draw background that move slowest


Скрипты из Parallax Scrolling.
Автор Muhammad Fihril Kamal.

* Perfect_Parallax.gmk (674.62 Кб - загружено 323 раз.)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

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