Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[MUITO IMPORTANTE] Problema com matrizes
4 participantes
Página 1 de 1
[MUITO IMPORTANTE] Problema com matrizes
Com a ajuda do usuário Eudes (o nome dele ja vai estar nos agradecimentos ), consegui, em parte, implantar algo bem legal no meu jogo, mas, infelizmente da erro :(e como não queria atormentar ele, tentei resolver sozinho, mas, nao consegui
O que eu quero:
Criar fases, sendo que cada uma possui 3 estrelas, e se o jogador pegar uma estrela, e voltar a jogar a fase novamente, a estrela não esteja mais lá, pq ele já pegou ela
O que acontece:
"ERROR in
action number 1
of Create Event
for object obj_estrela:
Error in code at line 3:
if(estrelas[i] = self.id)
^
at position 7: Unknown variable estrelas or array index out of bounds"
No objeto do controle principal, onde declaro variáveis, em seu Create coloquei:
No objeto "criador de estrelas" onde, eu defino em que lugar as estrelas serão criadas, em seu Create, eu coloquei:
Create do objeto estrela:
Colisão da estrela com player:
Pelo que parece, o erro está na variavel estrelas, acho que porque ela nao é global, tentei colocar como global, e ainda deu erro
--
Se alguem puder me ajudar, e analisar meu codigo: https://www.dropbox.com/s/swrltslaqzr4ydo/Draw%20World.gmk
Vou colocar o nome nos agradecimentos
O que eu quero:
Criar fases, sendo que cada uma possui 3 estrelas, e se o jogador pegar uma estrela, e voltar a jogar a fase novamente, a estrela não esteja mais lá, pq ele já pegou ela
O que acontece:
"ERROR in
action number 1
of Create Event
for object obj_estrela:
Error in code at line 3:
if(estrelas[i] = self.id)
^
at position 7: Unknown variable estrelas or array index out of bounds"
No objeto do controle principal, onde declaro variáveis, em seu Create coloquei:
- Código:
//Fase e estrelas
globalvar fase;
fase = 1; //Começa com fase 1
globalvar estrelas_fases;// Guardará as estrelas do player
for(i=1; i<=30; i+=1;){ //Serão 30 fases
estrelas_fases[i, 1] = 0; //Se for 0 a estrela será criada
estrelas_fases[i, 2] = 0;
estrelas_fases[i, 3] = 0;
}
No objeto "criador de estrelas" onde, eu defino em que lugar as estrelas serão criadas, em seu Create, eu coloquei:
- Código:
var estrelas; //Variavel estrelas
if room_exists(Fase_1) { //Se Fase 1 existe
if(estrelas_fases[fase, 1] = 0) { //A estrela 1, da primeira será criada
in = instance_create(225, 615, obj_estrela);
estrelas[1] = in.id;
} if(estrelas_fases[fase, 2] = 0) {
in = instance_create(435,630, obj_estrela);
estrelas[2] = in.id;
} if(estrelas_fases[fase, 3] = 0) {
in = instance_create(660,585, obj_estrela);
estrelas[3] = in.id; }
}
Create do objeto estrela:
- Código:
var numero;
for(i=1; i<=3; i+=1;){
if(estrelas[i] = self.id)
self.numero = i;
}
Colisão da estrela com player:
- Código:
estrelas_fases[global.fase, self.numero] = 1; //A estrela colidida não será mais criada
Pelo que parece, o erro está na variavel estrelas, acho que porque ela nao é global, tentei colocar como global, e ainda deu erro
--
Se alguem puder me ajudar, e analisar meu codigo: https://www.dropbox.com/s/swrltslaqzr4ydo/Draw%20World.gmk
Vou colocar o nome nos agradecimentos
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [MUITO IMPORTANTE] Problema com matrizes
Fala ai. Vou responder, blz? haha
Esse "Unknown variable" é quando a variável não é encontrada mesmo.
Sempre que for usar uma variável de outro objeto, a gente tem que colocar o nome desse objeto antes dela. Eu devo ter errado nessa parte.
Ao invés de só usar a variável assim: 'estrelas[i]'
Vc coloca antes dela o nome do Objeto ao qual ela pertence:
criador de obj_estrelas.estrelas[i] ...
Esse "Unknown variable" é quando a variável não é encontrada mesmo.
Sempre que for usar uma variável de outro objeto, a gente tem que colocar o nome desse objeto antes dela. Eu devo ter errado nessa parte.
Ao invés de só usar a variável assim: 'estrelas[i]'
Vc coloca antes dela o nome do Objeto ao qual ela pertence:
criador de obj_estrelas.estrelas[i] ...
Última edição por Eudes - Hyo em Sex 21 Fev 2014, 14:16, editado 1 vez(es)
Eudes - Hyo- Games Ranking :
Notas recebidas : E + B+B
Data de inscrição : 02/06/2009
Reputação : 27
Número de Mensagens : 513
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [MUITO IMPORTANTE] Problema com matrizes
Eudes - Hyo escreveu:Fala ai. Vou responder, blz? haha
Esse "Unknown variable" é quando a variável não é encontrada mesmo.
Ao invés de só usar a variável assim: 'estrelas[i]'
Vc coloca antes dela o nome do Objeto ao qual ela pertence:
criador de estrelas.estrelas[i] ...
Tenho sérias suspeitas que o GM possui um complô contra mim
O erro continua... vou tentar arrumar aqui
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [MUITO IMPORTANTE] Problema com matrizes
Por que você não habilita a opção persistent na room da fase, assim quando você pegar um objeto ele não estará mais la quando coletado.
JoaoVanBlizzard- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: [MUITO IMPORTANTE] Problema com matrizes
JoaoVanBlizzard escreveu:Por que você não habilita a opção persistent na room da fase, assim quando você pegar um objeto ele não estará mais la quando coletado.
Até que dá certo, mas, nao é bem do jeito que eu queria, pq quando o jogador nao vai poder jogar a fase novamente, se passar ela
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [MUITO IMPORTANTE] Problema com matrizes
Tira o persistent senão nada aparece na room denovo para ele jogar a mesma fase.
Tem conserto isso dai manim:
Corrige isso:
No obj_inicio, tem q declarar o array assim:
No create do obj_estrela, vc tem que se referir a estrela como global, vc declarou ela como global ali em cima:
Agora, ele parou de pegar a estela la no game agora ve ai vc se consegue descobrir...
Tem conserto isso dai manim:
Corrige isso:
No obj_inicio, tem q declarar o array assim:
- Código:
//Estrelas Total
global.estrelas[999] = 0
No create do obj_estrela, vc tem que se referir a estrela como global, vc declarou ela como global ali em cima:
- Código:
numero = 0; // Eu mudei isso aqui tb pq deu erro quando coloca var numero
for(i=1; i<=3; i+=1;){
if(global.estrelas[i] = self.id)
self.numero = i;
}
Agora, ele parou de pegar a estela la no game agora ve ai vc se consegue descobrir...
chicoweb- Games Ranking :
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Reputação : 49
Número de Mensagens : 675
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: [MUITO IMPORTANTE] Problema com matrizes
Aconteceu isso comigo também, basta colocar instance_destroy() na colisão das estrelas com o personagem que tudo se resolve.
JoaoVanBlizzard- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: [MUITO IMPORTANTE] Problema com matrizes
O jeito que o Chico inicializa o vetor 'estrelas' realmente é necessário fazer.
Eu não tinha me ligado nisso, não pode deixar um index nulo se vc vai percorrer ele e comparar o valor.
Deixar ele global acho que resolve mesmo, como vc seta os valores dele pra 0, não tem problema usar o vetor em cada fase.
Eu não tinha me ligado nisso, não pode deixar um index nulo se vc vai percorrer ele e comparar o valor.
Deixar ele global acho que resolve mesmo, como vc seta os valores dele pra 0, não tem problema usar o vetor em cada fase.
Eudes - Hyo- Games Ranking :
Notas recebidas : E + B+B
Data de inscrição : 02/06/2009
Reputação : 27
Número de Mensagens : 513
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [MUITO IMPORTANTE] Problema com matrizes
Obrigado a todos, e desculpe pelo transtorno, parece que nesse jogo sempre dá algo errado, eu vou descontinuar o projeto, e futuramente se eu retornar nele, para Android, sem duvida nenhuma esse topico vai ser importante, mas, eu perdi a paciencia.
Muito obrigado,
Tópico RESOLVIDO
Muito obrigado,
Tópico RESOLVIDO
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [MUITO IMPORTANTE] Problema com matrizes
Eu antes pensava dessa maneira também, queria desistir dos meus projetos sempre que apareciam erros, mas hoje em dia com o jogo "submundo " vem sendo diferente, está aparecendo o tempo todo erros que chegam e me dar medo de adicionar coisas novas o pior que quando eu estiver fazendo o jogo "uma estranha noite " eu venha a passar por problemas parecidos, mas eu não estou mais com medo, uma dica muito boa é você fazer um rascunho do seu jogo e ir testando devagarzinho, eu por exemplo, sempre faço uma cópia do meu jogo quando faço upgrades nele, assim quando faço uma coisa e não da certo eu posso voltar atrás, outra ideia boa é tentar inventar scripts com coisas que você usará mais de uma vez no jogo, facilita muito.
quanto ao seu jogo, pense assim, não é qualquer um que consegue fazer jogos assim, então pense respire, faça rascunhos e tente outra vez, faça sempre mais de um arquivo do jogo, assim você pode revirar aos monte até achar uma forma econômica de fazer as coisas, o negócio é não se afobar viu.
quanto ao seu jogo, pense assim, não é qualquer um que consegue fazer jogos assim, então pense respire, faça rascunhos e tente outra vez, faça sempre mais de um arquivo do jogo, assim você pode revirar aos monte até achar uma forma econômica de fazer as coisas, o negócio é não se afobar viu.
JoaoVanBlizzard- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: [MUITO IMPORTANTE] Problema com matrizes
Concordo com o João. Vc vai encontrar erros em outros jogos tbm.
Vc só precisa parar se realmente não tiver mais interesse no projeto.
Talvez essa forma dinâmica que eu ti passei não seja a melhor .
Esses erros do tipo "Unknown variable" são comuns, e sempre é possível arrumar.
Em relação a Matriz, Realmente o GM gerou erro de index ao percorrer o vetor por laço For, e isso é algo que não acontece comigo com outras linguagens/compiladores (não sei).
Mas dá pra fazer estático tbm, index por index.
Ou então vc pode tentar deixar as Rooms Persistentes mesmo, e montar as fases a cada vez que entrar nela. Enfim, as possibilidades são grandes.
Vc só precisa parar se realmente não tiver mais interesse no projeto.
Talvez essa forma dinâmica que eu ti passei não seja a melhor .
Esses erros do tipo "Unknown variable" são comuns, e sempre é possível arrumar.
Em relação a Matriz, Realmente o GM gerou erro de index ao percorrer o vetor por laço For, e isso é algo que não acontece comigo com outras linguagens/compiladores (não sei).
Mas dá pra fazer estático tbm, index por index.
Ou então vc pode tentar deixar as Rooms Persistentes mesmo, e montar as fases a cada vez que entrar nela. Enfim, as possibilidades são grandes.
Eudes - Hyo- Games Ranking :
Notas recebidas : E + B+B
Data de inscrição : 02/06/2009
Reputação : 27
Número de Mensagens : 513
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [MUITO IMPORTANTE] Problema com matrizes
Obrigado Eudes e Joao, eu nao vou desistir do jogo, so vou deixar ele um pouco de lado, eu me irritei muito com ele, quando estiver mais calmo eu retorno nele, antes desse acho que vou fazer algo mais simples, para eu ja ir pegando o jeito
vitorfernandes13- Games Ranking :
Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos