Conectar-se
Quem está conectado
15 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 14 Visitantes

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 09/09/2017
Número de Mensagens : 4
Insígnias de JAM :

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

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

colisão/mudança de sprite em loop GM8

em Ter 12 Set 2017, 12:03
Olá, pessoal
Consegui fazer a mudança de sprite ao colidir, porém ao colidir novamente não funciona mais, só funciona na primeira colisão. Alguém poderia me ajudar? abrs
avatar
Ranking : Sem avaliações
Data de inscrição : 23/09/2010
Número de Mensagens : 283
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://facebook.com/playtimers

Re: colisão/mudança de sprite em loop GM8

em Ter 12 Set 2017, 21:14
Olá, boa noite, ficou um pouco vago como a mudança está sendo feita, será que você pode colocar o trecho de código que muda a sprite ao colidir? Acho que assim fica mais claro para poder te ajudar...



Very Happy
avatar
Data de inscrição : 09/09/2017
Número de Mensagens : 4
Insígnias de JAM :

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

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

Re: colisão/mudança de sprite em loop GM8

em Qui 14 Set 2017, 09:33
Olá, Biemorth
Você vai me achar doida, mas estou tentando fazer um jogo, sem ter muito conhecimento de códigos.
Então, estou usando os comandos(arrasta/solta) do gamemaker.
Mais dúvidas:
Conseguirei produzir o jogo fazendo dessa forma?
Os códigos vão aparecem em algum lugar no jogo ao usar esse sistema?

Vou tentar descrever, espero que possa me ajudar
Criei duas sprites com os eventos e açôes abaixo:

Sprite 1
Event 1Create
Action Star Moving para esquerda
Event2 Collision
Action Bounce
Action Change Sprite 2

Sprite 2
Event - Create
Action Star Moving para direita
Event Collision
Action Bounce
Action Change Sprite 1

Na primeira colisão, ocorre a mudança de sprite e mudança de direção, porém na segunda colisão, não está ocorrendo a mudança de sprite, somente a mudança de direção, e segue somente colidindo e voltando....colidindo e voltando.
Ficou confuso, né?
Acho que vou ter que aprender mais sobre os códigos mesmo.
Eu até gosto, mas o que eu adoro mesmo é desenhar.
Se puder me indicar onde posso conseguir material para estudar sobre códigos, vai ser legal também.

Valew! E obrigada pelo seu interesse em me "salvar"
abrs
eliete
avatar
Ranking : Sem avaliações
Data de inscrição : 23/09/2010
Número de Mensagens : 283
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://facebook.com/playtimers

Re: colisão/mudança de sprite em loop GM8

em Qui 14 Set 2017, 15:18
É spossível sim criar jogos usando apenas o D&D(arrasta e solta) do GM, inclusive se não me engano, já tivemos há alguns anos um concurso que essa era a limitação c:
"Os códigos vão aparecem em algum lugar no jogo ao usar esse sistema?"
Bem, essas caixinhas depois são convertidas em código, mas você não vai precisar modificar código diretamente, embora seja bom conhecer um pouco pois assim fica mais fácil de pensar em como organizar e até de fazer seus próprios "botões de D&D"(caixinhas) se for o caso.
Acho interessante esta lista de tutoriais
http://gmbr.forumeiros.com/t18692-
Mas, creio que antes você vai precisar de uma noção mais básica pra se acostumar com o GM. O tutorial inicial do game maker 8 foi traduzido(não sei quem traduziu), mas é um bom pontapé inicial:
https://social.stoa.usp.br/articles/0016/2103/gameMaker8_PortuguA_s.pdf_
Ele funciona nas versões mais atuais do GM, no caso do Game Maker Studio, creio que somente a função "sleep" que não é mais usada(ela não é tão crucial para o tutorial).

O que ocorre no seu programa é o seguinte, ao colidir você muda sempre a sprite do primeiro objeto para a Sprite 2, no caso, suponhamos que ele começa com a Sprite 1, quando colide muda para a 2, e mesmo que colida mais vezes, vai sempre "mudar" para a 2, como já está com ela não fica visível a mudança... O que acontece com o outro é idêntico...

Creio que fazendo a checagem você conseguirá o resultado que quer:
Se a sprite for a 1 mudaremos para a 2, caso contrário(se for a 2) mudaremos para a 1.

Spoiler:
Action If Variable  <- Isso é um bloco que checa se uma afirmação é verdadeira, se for verdadeira ele executa o primeiro bloco depois dele, ou  o que estiver dentro desses triângulos Action Begin  Action End eles ficam na aba control, como só vamos executar uma coisa(mudar a sprite) não vamos precisar deles.

Usaremos no evento de colisão: Action If Variable  no caso, no primeiro campo é o que você quer checar, no nosso caso "sprite_index".

Spoiler:
"sprite_index" é uma variável que todo objeto tem, ela guarda a sprite atual do objeto.

No segundo campo(value) colocaremos o nome da sprite que queremos comparar, no caso acho que seu objeto  tem o mesmo nome: "Sprite 1"

Spoiler:
Recomendamos não usar espaços por poder gerar algum problema... c: Se for o caso, tira o espaço do nome da sprite.

No terceiro campo é a operação, como queremos checar se é igual, manteremos o padrão.



Fizemos a parte grifada da frase:
Se a sprite for a 1 mudaremos para a 2, caso contrário(se for a 2) mudaremos para a 1.

Usaremos agora o bloco de Change Sprite(Action Sprite) que creio ser a que você está usando, selecionaremos nele o Sprite 2.

Fizemos agora a seguinte parte grifada:
Se a sprite for a 1 mudaremos para a 2, caso contrário(se for a 2) mudaremos para a 1.

Então faremos este "caso contrário":
Usaremos o bloco else:  Action Else que também está na aba control.
Ele não pede nenhum prâmetro, então é só colocar depois do último bloco que colocamos.

Agora faremos a última parte da frase:
Se a sprite for a 1 mudaremos para a 2, caso contrário(se for a 2) mudaremos para a 1.

Assim como a mudança de sprite anterior, faremos esta, só que trocaremos a Sprite 2 por Sprite 1

Spoiler:
Caso tenha mudado o nome das sprites(tirado o espaço) modifique aqui também c:

No final teremos algo assim:



Se fossemos usar os triângulos ficariamos com algo assim:



Caso tenha algum problema ainda para resolver isto ou algo não tenha ficado claro, pode mandar mensagem aqui mesmo, por PM ou no Discord, ficaremos felizes em ajudar c: Posso tentar explicar de maneira mais clara ou fazer um exemplo.



flw
avatar
Data de inscrição : 09/09/2017
Número de Mensagens : 4
Insígnias de JAM :

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

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

Re: colisão/mudança de sprite em loop GM8

em Qui 14 Set 2017, 19:46
Consegui!!!
Adorei.
Sua explicação foi ótima.
Confesso que fiquei mais motivada ao saber que posso utilizar os comandos D&D
Mas com certeza vou checar os links que você sugeriu.
Laughing
Valew
abrs
Eliete
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