Conectar-se
Quem está conectado
32 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 32 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 30/06/2010
Número de Mensagens : 628
Insígnias de JAM :

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

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

[duvida]OBJETOS

em Ter 20 Jul 2010, 09:11
hei Convidado eu quero fazer assim, qnd o carinha acaba d pegar todos os OBJETOS ele passa de fase, mas os pontos continuem.
me ajudem ???
apesar, feliz dia do amigo
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: [duvida]OBJETOS

em Ter 20 Jul 2010, 09:57
Se você quer criar uma variável para os pontos, e não usar "score", você tem que colocar no evento create de um objeto que apareça apenas na primeira room:
global.pontos = 0;
Se for usar a variável score, não precisa disso, ela é iniciada automáticamente.

No step do seu personagem ou qualquer outro objeto que apareça em outras fases, você testa se acabaram todos os objetos, e se sim, passa de fase.

if (instance_number(obj_que_eh_pego) == 0) // Se não há mais instâncias de tal objeto
room_goto_next(); // Passa de fase


Isso se houver apenas um objeto. Mas, se você tiver mais de um objeto para ser pego, por exemplo, estrelas, moedas azuis, moedas vermelhas, etc., você tem que fazer assim:

if (instance_number(obj_Estrela) == 0 && instance_number(obj_MoedasAzuis) == 0 && instance_number(obj_MoedasVermelhas) == 0 /*...*/) // Se não há mais instâncias de nenhum dos objetos listados
room_goto_next(); // Passa de fase


Ou seja, um "instance_number(obj_...) == 0" para cada objeto.
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

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

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

Re: [duvida]OBJETOS

em Ter 20 Jul 2010, 10:15
Ou se você achar muito complicado mentos o código que o Igor passou, pode usar uma variável:

Para isso, você deve ter um objeto controle, nele, você coloca no evento create:

global.objetos = 0;
global.pontos = 0;


E lembre-se, ponha esse objeto somente na primeira room e o marque como persistent.

Adicionar score acho que você sabe né? Então vamos pular essa parte.

Agora vamos contar quantos objetos há na room, para isso, em TODOS os objetos que serão pegos, coloque no evento create deles:


global.objetos += 1;


No entanto, é necessário que o objeto controle seja criado primeiro para que não haja erros de menclatura no código, por isso disse para colocá-lo na primeira room, que no caso, deve ser o menu ou algo do tipo, enfim, o que importa é que o objeto controle seja criado primeiro.

Bom depois de colocar o código acima nos eventos creates, basta colocar no evento destroy de todos os objetos que serão pegos:


if global.objetos = 0
room_goto_next();
else
global.objetos -= 1;


Bom, não testei o código, mas a lógica é essa.
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: [duvida]OBJETOS

em Ter 20 Jul 2010, 10:24
souzalucasjose escreveu:Bom depois de colocar o código acima nos eventos creates, basta colocar no evento destroy de todos os objetos que serão pegos:


if global.objetos = 0
room_goto_next();
else
global.objetos -= 1;

Esse código não seria bem assim. A variável global.objetos teria que ser diminuida sempre que um desses objetos fosse destruido, e só depois dele ser destruido e a variável diminuida, deveria-se testar se a global.objetos é 0. Ou seja:
global.objetos -= 1;
if global.objetos = 0
room_goto_next();


Spoiler:
Mas, para não não ter que escrever isso em todos os objetos, poderia usar-se um objeto parent com esses códigos... mas, se o seu objetivo em postá-los foi mostrar um jeito menos complicado, falar de parents só complicaria ainda mais Laughing
Aliás, não acho que o código que eu postei seja complicado, e, mesmo que o seja para um iniciante (se for o caso dele), ele tem que aprender as coisas mais complicadas...
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

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

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

Re: [duvida]OBJETOS

em Ter 20 Jul 2010, 10:30
Igor KinGamer escreveu:
souzalucasjose escreveu:Bom depois de colocar o código acima nos eventos creates, basta colocar no evento destroy de todos os objetos que serão pegos:


if global.objetos = 0
room_goto_next();
else
global.objetos -= 1;

Esse código não seria bem assim. A variável global.objetos teria que ser diminuida sempre que um desses objetos fosse destruido, e só depois dele ser destruido e a variável diminuida, deveria-se testar se a global.objetos é 0. Ou seja:
global.objetos -= 1;
if global.objetos = 0
room_goto_next();


Spoiler:
Mas, para não não ter que escrever isso em todos os objetos, poderia usar-se um objeto parent com esses códigos... mas, se o seu objetivo em postá-los foi mostrar um jeito menos complicado, falar de parents só complicaria ainda mais Laughing
Aliás, não acho que o código que eu postei seja complicado, e, mesmo que o seja para um iniciante (se for o caso dele), ele tem que aprender as coisas mais complicadas...

shushushus verdade, porque se tem mais de um objeto na room para ser pego, não tem como er 0 a variável. Mas foi como eu disse, não testei o código, valeu ai Igor.

Edit

Concordo com seu spoller, mas pelo menos, agora ele tem duas formas! xD
avatar
Data de inscrição : 13/05/2010
Número de Mensagens : 357
Insígnias de JAM :

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

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

Re: [duvida]OBJETOS

em Ter 20 Jul 2010, 11:42
Facim,eu faço assim,crio uma room,e nela coloco um objeto q cria o score,e vai pra próxima room,aí quando o carinha ir pra próxima fase,ele vai continuar com os pontos.flws.
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