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


Tilesets aleatórios

3 participantes

Página 2 de 2 Anterior  1, 2

Ir para baixo

Tilesets aleatórios - Página 2 Empty Re: Tilesets aleatórios

Mensagem por Markituh Qui 23 Jun 2011, 15:12

- A sprite é sim chapada, toda retangular.
- A origem está no padrão, 0 em ambos os eixos.
- Não defini a mask pois ainda não estou trabalhando com colisão, primeiro vou resolver a parte gráfica.

Hmmm... É, que bom que descobriu que o código estava com problemas! Teistei aqui e funcionou! Só falta fazer a parte da colisão (já fiz uma mask do tamanho da sprite). Então, pode me mostrar um exemplo daquele sistema de colisão que você havia falado?
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Tilesets aleatórios - Página 2 Empty

Medalhas x 0 Tutoriais x 1 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

Tilesets aleatórios - Página 2 Empty Re: Tilesets aleatórios

Mensagem por saim Qui 23 Jun 2011, 17:03

É plataforma, né?
Normalmente eu uso hsp e vsp como variáveis de velocidade no momento e ignoro a direção. Pra gravidade, eu uso _grav. A movimentação horizontal e vertical são independentes, apesar de acontecerem ao mesmo tempo. O step fica mais ou menos assim:

Código:
repeat(hsp){
    if !place_meeting(x+keyboard_check(vk_right)-keyboard_check(vk_left), y, obj_wall){
        x=median(0, room_width, x+keyboard_check(vk_right)-keyboard_check(vk_left))
        }
    }

grav=(!place_meeting(x, y+1, obj_wall))*0.5
_vsp=min(_vsp+_grav, max_vsp) //constante, se _grav=0

if keyboard_check_pressed(ord('W')) && _grav==0
    vsp=-5

if vsp!=0 //como é muito código, melhor evitar rodar quando possível
    if !place_meeting(x, y+vsp, obj_wall){
        y+=vsp
        }
        else{ //só quando GARANTE uma colisão
            while(!place_meeting(x, y+sign(vsp), obj_wall)){
                y+=sign(vsp)
                }
            vsp=0
        }
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 : Tilesets aleatórios - Página 2 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

Tilesets aleatórios - Página 2 Empty Re: Tilesets aleatórios

Mensagem por Markituh Seg 27 Jun 2011, 12:43

Sim, é plataforma. Exclui o código que trabalha com o hsp pois o boneco não se move na horizontal, são as walls. Bem, o código não funciionou como eu esperava - tenho dois objetos para colidir, o piso cinza(para pisar enquanto não vem as paredes) e as paredes(que não são apenas paredes, são paredes e ao mesmo tempo pisos). Quando eu aperto a tecla definida para pulo ele vai para baixo, e não para cima (e também só pula quando as walls estão perto.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Tilesets aleatórios - Página 2 Empty

Medalhas x 0 Tutoriais x 1 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

Tilesets aleatórios - Página 2 Empty Re: Tilesets aleatórios

Mensagem por saim Seg 27 Jun 2011, 15:48

Acho que você só está checando por colisões com as paredes que se movimentam. Isso explicaria tudo.
Bom, ambos objetos podem ter um mesmo parent sem eventos, daí você checa por colisões com esse parent. Isso deve resolver tudo. Afinal, o código foi usado naquele meu DAN0 (concurso #007) que, apesar de ter seus bugs, tem a movimentação funcionando.
Agora, se tirar o código do hsp, ele vai ser capaz de atravassar a parede. Talvez seja o caso de ADAPTAR o código. Mas antes, teste essa idéia do parent e me diga se funcionou.
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 : Tilesets aleatórios - Página 2 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

Tilesets aleatórios - Página 2 Empty Re: Tilesets aleatórios

Mensagem por Markituh Seg 27 Jun 2011, 16:29

A colisão parece estar legal, só que eu não consigo pular. Há algo errado no código?
Código:
// Gravidade

_grav=(!place_meeting(x, y+1, obj_parentfl))*0.5
vsp=min(vsp+_grav, max_vsp) //constante, se _grav=0

if keyboard_check_pressed(ord('W')) && _grav==0
    vsp=-5

if vsp!=0 //como é muito código, melhor evitar rodar quando possível
    if !place_meeting(x, y+vsp, obj_parentfl){
        y+=vsp
        }
        else{ //só quando GARANTE uma colisão
            while(!place_meeting(x, y+sign(vsp), obj_parentfl)){
                y+=sign(vsp)
                }
            vsp=0
        }
obj_parentfl é o parent que eu criei.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : Tilesets aleatórios - Página 2 Empty

Medalhas x 0 Tutoriais x 1 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

Tilesets aleatórios - Página 2 Empty Re: Tilesets aleatórios

Mensagem por saim Seg 27 Jun 2011, 17:33

Nada errado, pelo que eu vejo... a menos que a posição ATUAL esteja retornando uma colisão. Tente iniciar o jogo com o player no topo da tela.
Ah, por via das dúvidas, coloque uma mask retangular, ocupando todo o sprite.
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 : Tilesets aleatórios - Página 2 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

Tilesets aleatórios - Página 2 Empty Re: Tilesets aleatórios

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 2 de 2 Anterior  1, 2

Ir para o topo

- Tópicos semelhantes

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