[Resolvido]duvida com o codigo while

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido]duvida com o codigo while

Mensagem por hgb-games em Sex 22 Jul 2011, 10:38

galera eu estou usando este código na colisão player - princesa:
Código:
global.pegou-=1
global.pegou=0{
global.pegou=true
}

e este na colisão porta de saída - player:
Código:
if global.pegou=true{
room_goto_next(){
transition_kink=21
}
}
else if global.pegou=false{
speed=0
}

o proposito desse codigo é fazer que quando o player pegar todas as princesas liberar a porta de saída. Bom eu coloquei 2 princesas em uma room de teste, o player so pega uma e a porta de saida ta liberada, acho que o while pode ajudar nisto, mas como usa-lo?

EDIT:

estava vendo a funçao while na apostila da gmbr, e não daria certo, pq eu quero controle da posição, então como fazer para só quando não tiver nenhuma princesa na room a porta de saida abrir?


Última edição por henrique2 em Sex 22 Jul 2011, 11:05, editado 1 vez(es)

hgb-games

Número de Mensagens : 56
Data de inscrição : 13/05/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]duvida com o codigo while

Mensagem por Carlos L. em Sex 22 Jul 2011, 11:03

Faça o seguinte.
Código:

// Create
global.pegou = instance_number(oPrincesa); // Fara com que a variavel fique com o numero de princesas que existem na fase.
// Colisão com a princesa;
global.pegou -= 1;
// Step
if (global.pegou == 0)
{
    instance_create(posição_em_x, posição_em_y, oPorta);
}
// Colisão com a porta.
room_goto_next();
transition_kind = 21;
Desse jeito funcionará não precisa usar o while.
flw

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]duvida com o codigo while

Mensagem por andreh em Sex 22 Jul 2011, 11:03

O problema é q vc não está destruindo a princesa, então enquanto vc estiver encostando na princesa o global.pegou vai continuar diminuindo!
Mas acho tbm q vc está usando o mesmo nome p/ 2 variaveis diferentes, o global.pegou!

Faça assim:
No Create do player:
Código:
global.liberar = false
global.pegou = 0

No Step do player:
Código:
if global.pegou>=2
{global.liberar = true}

Na Colisão do player com a princesa:
Código:
global.pegou += 1

with(other)
instance_destroy()

Na Colisão do player com a porta:
Código:
if global.liberar = true
{room_goto(room1){
transition_kind = 21}}
else
if global.liberar = false
{show_message("Você não pegou todas as princesas!")}

Os códigos estão meio desorganizados mas acho q dá pra entender!
Espero ter ajudado

andreh

Ranking : Nota C
Número de Mensagens : 183
Idade : 20
Data de inscrição : 09/03/2011
Notas recebidas : C
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]duvida com o codigo while

Mensagem por .:Allison:. em Sex 22 Jul 2011, 11:08

não precisa usar o while, um simples instance_exist(obj) existe pode resolver isso, ele checa se ainda ha alguma instancia com o nome obj

poderia ser assim:
<gml>if ! (instance_exist(obj_princedsa)) && (global.pegou=true){
room_goto_next();
transition_kink=21;
}
else
{
speed=0;
}</gml>

.:Allison:.

Ranking : Nota B
Número de Mensagens : 630
Idade : 19
Data de inscrição : 25/07/2010
Notas recebidas : B
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]duvida com o codigo while

Mensagem por Conteúdo patrocinado Hoje à(s) 05:44


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum