Conectar-se
Quem está conectado
23 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 22 Visitantes

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 20/12/2010
Número de Mensagens : 424
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 52

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

ME AJUDEM COM DRAW_BACKGROUND

em Sab 25 Jun 2011, 14:27
Olá,eu estou usando um sistema paralax com objetos fazendo draw nas backgrounds,e está muito bom.Eu tenho uma background diminuta de árvores que se repete infinitamente na lateral,e eu queria deixar ela em draw e ela ficar infinita.Só que se eu marcar tiled=true ela se repete horizontal e vertical,e eu só quero horizontal.Se eu definir false,ela fica só um matinho no meio da fase.Eu não posso usar backgrounds normais,pois o sistema já está completo,eu quero colocar no evento draw do objeto um código para draw_background onde só haja tile horizontal.Dá?
Me ajudem!
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 11

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: ME AJUDEM COM DRAW_BACKGROUND

em Dom 26 Jun 2011, 15:29
Pelo que eu vi, não tem jeito de fazer isso com "draw_background_...".
Mas dá para criar uma função (script) que faça isso:

Crie um script com o nome "draw_background_htiled" (ou como quiser) e coloque isso:

// draw_background_htiled(back, x, y);

var back, back_x, back_y, larg;
back = argument0;
back_x = argument1;
back_y = argument2;
larg = background_get_width(back);
while (back_x < view_xview[view_current])
back_x += larg;
while (back_x > view_xview[view_current])
back_x -= larg;
while (back_x < view_xview[view_current]+view_wview[view_current])
{
draw_background(back, back_x, back_y);
back_x += larg;
}


Os dois primeiros while's servem para evitar draws desnecessários fora da view, especialmente se a room for muito grande.
Se não entender alguma coisa nos códigos, pode perguntar à vontade (eu não gostaria de usar um código sem entender bem como funciona).
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum