Entrar
Últimos assuntos
» Preciso de ajudapor AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
[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
|
|