GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


2 erros, colisão e movimentação

5 participantes

Ir para baixo

2 erros, colisão e movimentação Empty 2 erros, colisão e movimentação

Mensagem por namikazealexandre Dom 17 Nov 2013, 17:09

Bom, mais uma duvida no meu jogo:

Código:
if keyboard_check_pressed(vk_left) {
x -= 30;
}
if keyboard_check_pressed(vk_right) {
  x += 30;
}



if ( !place_free(x,y-1) ){
  vspeed = 0;                            //Foco do erro 2(eu acho)
}
Erro 1 - Quando vou rodar o jogo dá esse erro:

COMPILATION ERROR in Script: Movimentação
Error in code at line 19:
x -= 30;
^
at position 7: Variable name expected.


E quando eu retiro essa linha 19, dá erro na linha do " x += 30;".

Erro 2 - O objeto não para quando se encontra uma posição acima de outro objeto, o que era o esperado por mim.

E ai, onde está o problema?
namikazealexandre
namikazealexandre

Data de inscrição : 31/05/2013
Reputação : 0
Número de Mensagens : 52
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por All-x Dom 17 Nov 2013, 21:10

Com ESSE código não tem nada de errado. O erro está no nome do script!

Você colocou o nome de "Movimentação". Você não pode, em nenhum nome de recurso (Scripts, sprites, sons e etc) e variável usar acentuação e Ç (Cedilha).

Troque o nome por "Movimento" que deve resolver Very Happy.

A segunda dúvida não entendi, explique melhor. Happy

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por namikazealexandre Seg 18 Nov 2013, 19:52

1- Consertei o nome e mesmo erro:
___________________________________________
COMPILATION ERROR in Script: Movimento
Error in code at line 19:
x -= 30;
^
at position 7: Variable name expected.


2- Aqui:

if ( !place_free(x,y-1) ){
vspeed = 0;
}


Eu queria que o objeto parasse quando houvesse algo embaixo dele... mas nao dá certo
namikazealexandre
namikazealexandre

Data de inscrição : 31/05/2013
Reputação : 0
Número de Mensagens : 52
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por Gabreel Seg 18 Nov 2013, 19:59

Amigo, aonde estas a executar esse código?
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por namikazealexandre Seg 18 Nov 2013, 20:05

No evento STEP!
namikazealexandre
namikazealexandre

Data de inscrição : 31/05/2013
Reputação : 0
Número de Mensagens : 52
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por patrick9as Ter 19 Nov 2013, 00:36

Primeiramente, você tem que indicar de quem é o x que vai ser movimentado. Se você já tiver alguma experiência com programação, orientação a objetos, etc vai entender melhor o que eu estou dizendo. o.- 
Como você está fazendo por script, você tem que indicar a instancia que será movida utilizando o nome do seu objeto.
Por exemplo:
Código:

if (keyboard_check_pressed(vk_left))
{
      objeto_player.x -= 30
}
Segundo erro: Você tem que verificar o início da sprite corretamente. Mande o código que você está utilizando para fazer o objeto parar que eu posso te ajudar! investigador
patrick9as
patrick9as

Data de inscrição : 08/11/2013
Reputação : 1
Número de Mensagens : 9
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://facebook.com/SevenWarriorsEDB

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por saim Ter 19 Nov 2013, 09:33

patrick9as, o script roda no evento step... no game maker, o step só existe dentro de objetos. O game maker interpreta que o "x" se refere ao objeto que roda o script. ERA pra estar certo.
Entretanto, se o erro está acontecendo, realmente é tentador presumir que o código está rodando fora de um objeto.
...position 7... é onde fica o "30", certo? Estranho, parece que o programa não está entendendo que "30" é a variação de "x", parece que está perguntando "é pra subtrair 30 de quê?"
Não deveria acontecer. Deve ter algum erro lá de trás sendo propagado até aqui. Você poderia postar o script completo?

Quanto ao outro erro, só vendo pra saber. Eu posso chutar. O primeiro chute é que você está se movimentando através da mudança de posição (y += valor; y -= valor) e, como nesse caso o valor de vspeed e nada são a mesma coisa, o objeto não está parando.
O segundo chute é que você está verificando por uma colisão ACIMA do objeto e espera que ele pare quando existe uma colisão ABAIXO dele. Note que no game maker, o eixo "y" cresce de cima pra baixo.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por namikazealexandre Ter 19 Nov 2013, 21:19

patrick9as escreveu:Primeiramente, você tem que indicar de quem é o x que vai ser movimentado. Se você já tiver alguma experiência com programação, orientação a objetos, etc vai entender melhor o que eu estou dizendo. o.- 
Como você está fazendo por script, você tem que indicar a instancia que será movida utilizando o nome do seu objeto.
Por exemplo:
Código:

if (keyboard_check_pressed(vk_left))
{
      objeto_player.x -= 30
}
Segundo erro: Você tem que verificar o início da sprite corretamente. Mande o código que você está utilizando para fazer o objeto parar que eu posso te ajudar! investigador
Tentarei especificar o objeto, mas pensei que nao era necessário já que o script está sendo rodado no objeto em si. Mas vou tentar e digo se deu certo

Jájá posto o código



namikazealexandre
namikazealexandre

Data de inscrição : 31/05/2013
Reputação : 0
Número de Mensagens : 52
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por namikazealexandre Ter 19 Nov 2013, 21:25

saim escreveu:patrick9as, o script roda no evento step... no game maker, o step só existe dentro de objetos. O game maker interpreta que o "x" se refere ao objeto que roda o script. ERA pra estar certo.
Entretanto, se o erro está acontecendo, realmente é tentador presumir que o código está rodando fora de um objeto.
...position 7... é onde fica o "30", certo? Estranho, parece que o programa não está entendendo que "30" é a variação de "x", parece que está perguntando "é pra subtrair 30 de quê?"
Não deveria acontecer. Deve ter algum erro lá de trás sendo propagado até aqui. Você poderia postar o script completo?

Quanto ao outro erro, só vendo pra saber. Eu posso chutar. O primeiro chute é que você está se movimentando através da mudança de posição (y += valor; y -= valor) e, como nesse caso o valor de vspeed e nada são a mesma coisa, o objeto não está parando.
O segundo chute é que você está verificando por uma colisão ACIMA do objeto e espera que ele pare quando existe uma colisão ABAIXO dele. Note que no game maker, o eixo "y" cresce de cima pra baixo.
1 - hmm... agora toh confuso, enfim, sim, a posição 7 eh a do 30. Jaja posto o codigo.
2 - Nao, acredito eu, que toh movimentando com a speed msm.



Script de movimento

Código:
//Script de movimentação blocos
vspeed = 5;


if keyboard_check_pressed(vk_up) {      //Rotaciona para direita
   if (image_index < image_number){
      image_index = image_index + 1;
   }
  else {
        image_index = 0;
   }  
}

if keyboard_check(vk_down) {    //Aumenta a velocidade do bloco
   vspeed *= 3;
}

if keyboard_check_pressed(vk_left) {
   x -= 30;
}
if keyboard_check_pressed(vk_right) {
   x += 30;
}



if ( !place_free(x,y+1) ){ //consertei aki, tirei y-1 e pus y+1
   vspeed = 0;
}
 

Tah ai! Em relação ao erro 2, vi agora que é o contrário. Sabia que o eixo Y era invertido mas msm assim ainda nao me acostumei, ai bugou minha mente kk.
EDIT: Mesmo consertando o y-1, ainda nao deu certo Mad
P/patrick9as: Tentei especificar o objeto lá, e mesmo nao deu certo, deu erro logo no script. Se essa solução funcionasse seria um inconveniente já que estou pondo o script em um objeto e esse objeto é um "objeto-pai" de outros semelhantes, ou seja, especificando o objeto no script, eu teria que reformular muita coisa.
namikazealexandre
namikazealexandre

Data de inscrição : 31/05/2013
Reputação : 0
Número de Mensagens : 52
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por saim Qua 20 Nov 2013, 10:10

erro 2:tente substituir "+1" por "+vspeed". Já que ela é definida como "5" logo no começo do script, isso não deve dar problema.

erro 1: não sei resolver (não achei erro nenhum) e não tenho como baixar a engine, se você postar... mas poste ela (o .gmk), de qualquer forma, que outra pessoa pode tentar.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por patrick9as Qua 20 Nov 2013, 16:03

namikazealexandre escreveu:
saim escreveu:patrick9as, o script roda no evento step... no game maker, o step só existe dentro de objetos. O game maker interpreta que o "x" se refere ao objeto que roda o script. ERA pra estar certo.
Entretanto, se o erro está acontecendo, realmente é tentador presumir que o código está rodando fora de um objeto.
...position 7... é onde fica o "30", certo? Estranho, parece que o programa não está entendendo que "30" é a variação de "x", parece que está perguntando "é pra subtrair 30 de quê?"
Não deveria acontecer. Deve ter algum erro lá de trás sendo propagado até aqui. Você poderia postar o script completo?

Quanto ao outro erro, só vendo pra saber. Eu posso chutar. O primeiro chute é que você está se movimentando através da mudança de posição (y += valor; y -= valor) e, como nesse caso o valor de vspeed e nada são a mesma coisa, o objeto não está parando.
O segundo chute é que você está verificando por uma colisão ACIMA do objeto e espera que ele pare quando existe uma colisão ABAIXO dele. Note que no game maker, o eixo "y" cresce de cima pra baixo.
1 - hmm... agora toh confuso, enfim, sim, a posição 7 eh a do 30. Jaja posto o codigo.
2 - Nao, acredito eu, que toh movimentando com a speed msm.



Script de movimento

Código:
//Script de movimentação blocos
vspeed = 5;


if keyboard_check_pressed(vk_up) {      //Rotaciona para direita
   if (image_index < image_number){
      image_index = image_index + 1;
   }
  else {
        image_index = 0;
   }  
}

if keyboard_check(vk_down) {    //Aumenta a velocidade do bloco
   vspeed *= 3;
}

if keyboard_check_pressed(vk_left) {
   x -= 30;
}
if keyboard_check_pressed(vk_right) {
   x += 30;
}



if ( !place_free(x,y+1) ){ //consertei aki, tirei y-1 e pus y+1
   vspeed = 0;
}
 

Tah ai! Em relação ao erro 2, vi agora que é o contrário. Sabia que o eixo Y era invertido mas msm assim ainda nao me acostumei, ai bugou minha mente kk.
EDIT: Mesmo consertando o y-1, ainda nao deu certo Mad
P/patrick9as: Tentei especificar o objeto lá, e mesmo nao deu certo, deu erro logo no script. Se essa solução funcionasse seria um inconveniente já que estou pondo o script em um  objeto e esse objeto é um "objeto-pai" de outros semelhantes, ou seja, especificando o objeto no script, eu teria que reformular muita coisa.
Realmente, eu achei estranho não ter dado certo, o Game Maker tem alguns problemas quanto a você tentar movimentar o objeto em outro lugar a não ser dentro do "Step", o que eu te recomendo é colocar esse código no objeto mesmo, aí é certeza de não dar nada errado.

Bom, para o segundo erro tente utilizar esse código:
Código:

if (other.y < y)//Se o outro objeto está acima de mim
{
      vspeed = 0;//Eu paro
}
E vamos deixar algumas coisas claras aqui:
Negativo = pra cima
Positivo = pra baixo
vspeed = velocidade na vertical
hspeed = velocidade na horizontal
y - 1 = enxergar pra cima (ou seja, seu código está certo)
Só me diz o porquê de vc estar usando o image_index e o image_number.
scratch 
patrick9as
patrick9as

Data de inscrição : 08/11/2013
Reputação : 1
Número de Mensagens : 9
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://facebook.com/SevenWarriorsEDB

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por namikazealexandre Qui 21 Nov 2013, 21:42

@Patrick9as:

Quanto ao eixo y eu já tinha entendido, era só um pequeno bug na minha cabeça msm...

Quanto ao image_index e image_number, nao sei se é idiotice ou se tinha um jeito mais fácil, mas eu coloquei todos as imagens de um bloco em apenas um sprite(nao sei se mecionei aki que o jogo é um generico de tetris).
Tipo, em um sprite tem o bloco L em todas as suas 4 posições. Ai quando o player aperta UP, ele rotaciona, ou seja, muda de imagem...
Nao sei se fui claro...
namikazealexandre
namikazealexandre

Data de inscrição : 31/05/2013
Reputação : 0
Número de Mensagens : 52
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por saim Sáb 23 Nov 2013, 10:24

Agora é final-de-semana. Pode ser que eu consiga dar uma olhada na sua engine, se você postá-la.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por namikazealexandre Dom 24 Nov 2013, 23:46

kkk Só vi a msg agora, eu posto depois e se vc ainda puder dar uma olhada!
namikazealexandre
namikazealexandre

Data de inscrição : 31/05/2013
Reputação : 0
Número de Mensagens : 52
Prêmios : 2 erros, colisão e movimentação Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

2 erros, colisão e movimentação Empty Re: 2 erros, colisão e movimentação

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos