Conectar-se
Quem está conectado
30 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 28 Visitantes

CRP-Max, Marlene Capeta

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

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

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

Ajuda Urgente [Iluminacao só pra um]

em Dom 29 Abr 2012, 17:44
Vendo esse tuto http://gmbr.forumeiros.com/t13185-resolvidoajuda-jogo-no-escuro?highlight=luz+e+escuro
tentei fazer com que ele iluminase o obj tocha, mais se tem mais de 1 tocha no mapa ele só ilumina uma ! Como arrumo para ele iluminar todas ? Ja fiz de tudo, acho que trabalhando com o numero de cada obj ( acho q é ID ) daria, mais nao sei lidar com isso.

É meio urgente pq é pro CQ
avatar
Data de inscrição : 29/01/2012
Número de Mensagens : 1
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Resposta ;)

em Seg 30 Abr 2012, 06:07
Olá amigo, como vai? Vou tentar ajuda-lo da maneira mais pratica possivel.

Crie um objeto de controle, chamado: ctrlLuz

no Create:
Código:

Alpha=0.92; //é o alpha da parte preta da luz, ou seja, a escuridão.
Noite=surface_create(view_wview[0],view_hview[0]);
global.count=0;

no BeginStep:
Código:

global.Darkest=merge_color(c_black,c_white,Alpha);
surface_set_target(Noite);
draw_clear(global.Darkest);
draw_set_blend_mode(bm_subtract);

for(i=0;i<global.count;i+=1;){
    objid=real(variable_global_get("obj"+string(i)));
    draw_circle_color(objid.x-view_xview[0],objid.y-view_yview[0],100,global.Darkest,c_black,0);
}

draw_set_blend_mode(bm_normal);
surface_reset_target();

Ai está o "truque", ele vai dar uma espécie de loop, capturando o valor do id de cada objLuz na room, e criar um circulo em volta dele.

no Draw:
Código:

draw_set_blend_mode(bm_subtract);
draw_surface(Noite,view_xview[0],view_yview[0]);
draw_set_blend_mode(bm_normal);

______________________________________________________________________|

Crie agora um Script chamado: add_id:

Código:

di=argument0;

variable_global_set("obj"+string(global.count),di);
global.count+=1;

Aqui iremos definir o id de cada objeto criado na room.

______________________________________________________________________|

Coloque no Create dos objLuz:

Código:

add_id(id);

______________________________________________________________________|

Espero ter ajudado. Até logo.
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