Entrar
Ú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
Como faço um buraco negro?
4 participantes
Página 1 de 1
Como faço um buraco negro?
Oi...
Quero fazer um buraco negro, ou seja, quando o player estiver perto dele, como faço para ele ser sugado?
-
Outra duvida: como faço para que o player possa empurrar uma pedra?
Valeu!
Quero fazer um buraco negro, ou seja, quando o player estiver perto dele, como faço para ele ser sugado?
-
Outra duvida: como faço para que o player possa empurrar uma pedra?
Valeu!
Re: Como faço um buraco negro?
1° Pergunta: Coloque esse código no evento Step do obj_player:
Onde N é o número da distância mínima entre o obj_player e o buraco negro e S é a velocidade em que o obj_player var ser sugado.
2° Pergunta:
Coloque esse código no evento Step do obj_player:
Até!
- Código:
if distance_to_object(obj_buraco_negro) >= N
{
mp_linear_step_object(x,y,S,obj_buraco_negro)
}
Onde N é o número da distância mínima entre o obj_player e o buraco negro e S é a velocidade em que o obj_player var ser sugado.
2° Pergunta:
Coloque esse código no evento Step do obj_player:
- Código:
if place_empty(8*other.hspeed,8*other.vspeed)
{
x = x+8*other.hspeed
y = y+8*other.vspeed
}
Até!
Re: Como faço um buraco negro?
bom, para ser sugado é facil
mas depende muito do que você deseja você não especificou muito
tem tipo quando a distancia for menor que um determinado valor o player começa a ser sugado
para isso utilize:
if point_distance(x1,y1,x2,y2) < distancia minima
{
puxa o player
}
iria ficara mais ou menos assim:
if point_distance(x,y,player.x,player.y) < 200
{
if player.x < x {with(player){x+=5}}
if player.x > x {with(player){x-=5}}
if player.y < y {with(player){y+=5}}
if player.y > y {with(player){y-=5}}
}
esse certamente é o jeito mais facil e rapido de ser fazer um buraco negro mas por sua vez ele está muito simples e "artificial"
eu te deu a base mas não quero te dar o script inteiro pois se não o jogo que vc fizer no final você não pode dizer "fui eu que fiz tudinho eu sei fazer jogo" na verdade eu quero te ENSINAR o codigo daí está a sua "base"
vc terá que "ampliar" esse codigo para que ele fique mais perfeito
primeiro neste codigo o player atravessara paredes, use if place_free...
segundo existe uma distancia e velocidade fixa, logo o player estara parado na reta do buraco negro sem ser sugado, derrepende dá um passo para tras e voa longe, crie variaveis, você por exemplo pode pegar um valor, checar se ele está menor que um determinado valor e maior que outro e subtrair dele a distancia do player ao buraco negro e colocar no lugar da velocidade, no nosso caso no lugar do 5, isso faria o player começar a ser sugado bem devagarzinho e quando for chegando perto começar a ir mais longe, inclusive você pode ampliar o codigo mais e mais por exemplo nisso que te falei mesmo que o player esteja indo bem lentamente se o chao acabar ele continua andando bem lentamente o que é impossivel pois se a força for pequena ele deverácair, enfim, crie um bucado de variaveis para fazer o codigo mais realista
terceiro, o seu player começara a andar numa direção como vamos dizer... desse jeito ele só anda em angulos para cima, baixo, esquerda e direita, e em diagonal como se formasse 45°, você pode usar direction e speed que ficaria perfeito um buraco negro genuino é capaz até de sugar o proprio monitor para dentro dele mesmo xD
mas enfim...
e empurrar um pedra é facil
você faz uma mask para a predra menor que a sprite, uns 5... 10... se possivel deixe uns 15 pixels menor que a sprite (horizontalmente claro verticalmente não), então o numero de pixeis que vc deixar vc usa pra checar se está colidindo a tantos pixeis de distancia usando place_meeting, exemplo, supondo que você deixe na mask uns 5 pixeis a menos de mask
if place_meeting(x - 5,y,player)
{
--explico depois--
}
if place_meeting(x + 5,y,player)
{
++explico depois++
}
esse codigo checa primeiro se a pedra está colidindo com o player a esquerda, então coloque no lugar de --explico depois--:
if place_free(x+5,y) {x+=6}
e no lugar de ++explico depois++ coloque:
if place_free(x-5,y) {x-=6}
não se esqueça de fazer com que o player não possa atravessar a pedra, pois se ele puder quando a pedra colidir com a parede por exemplo ela vai parar e o player vai atravessar ela, pode dar um efeito legal no jogo, pode não dar... se for o caso deixe a pedra "solida" ou sei lá poe codigos no step
enfim espero ter resolvido seu problema mas infelizmente vc não especificou seu problema se tivesse a ajuda seria muito melhor mas fiz o melhor que pude levando em consideração que tenho preguiça de digitar se não tivesse aí eu teria ajudado de verdade xD
mas depende muito do que você deseja você não especificou muito
tem tipo quando a distancia for menor que um determinado valor o player começa a ser sugado
para isso utilize:
if point_distance(x1,y1,x2,y2) < distancia minima
{
puxa o player
}
iria ficara mais ou menos assim:
if point_distance(x,y,player.x,player.y) < 200
{
if player.x < x {with(player){x+=5}}
if player.x > x {with(player){x-=5}}
if player.y < y {with(player){y+=5}}
if player.y > y {with(player){y-=5}}
}
esse certamente é o jeito mais facil e rapido de ser fazer um buraco negro mas por sua vez ele está muito simples e "artificial"
eu te deu a base mas não quero te dar o script inteiro pois se não o jogo que vc fizer no final você não pode dizer "fui eu que fiz tudinho eu sei fazer jogo" na verdade eu quero te ENSINAR o codigo daí está a sua "base"
vc terá que "ampliar" esse codigo para que ele fique mais perfeito
primeiro neste codigo o player atravessara paredes, use if place_free...
segundo existe uma distancia e velocidade fixa, logo o player estara parado na reta do buraco negro sem ser sugado, derrepende dá um passo para tras e voa longe, crie variaveis, você por exemplo pode pegar um valor, checar se ele está menor que um determinado valor e maior que outro e subtrair dele a distancia do player ao buraco negro e colocar no lugar da velocidade, no nosso caso no lugar do 5, isso faria o player começar a ser sugado bem devagarzinho e quando for chegando perto começar a ir mais longe, inclusive você pode ampliar o codigo mais e mais por exemplo nisso que te falei mesmo que o player esteja indo bem lentamente se o chao acabar ele continua andando bem lentamente o que é impossivel pois se a força for pequena ele deverácair, enfim, crie um bucado de variaveis para fazer o codigo mais realista
terceiro, o seu player começara a andar numa direção como vamos dizer... desse jeito ele só anda em angulos para cima, baixo, esquerda e direita, e em diagonal como se formasse 45°, você pode usar direction e speed que ficaria perfeito um buraco negro genuino é capaz até de sugar o proprio monitor para dentro dele mesmo xD
mas enfim...
e empurrar um pedra é facil
você faz uma mask para a predra menor que a sprite, uns 5... 10... se possivel deixe uns 15 pixels menor que a sprite (horizontalmente claro verticalmente não), então o numero de pixeis que vc deixar vc usa pra checar se está colidindo a tantos pixeis de distancia usando place_meeting, exemplo, supondo que você deixe na mask uns 5 pixeis a menos de mask
if place_meeting(x - 5,y,player)
{
--explico depois--
}
if place_meeting(x + 5,y,player)
{
++explico depois++
}
esse codigo checa primeiro se a pedra está colidindo com o player a esquerda, então coloque no lugar de --explico depois--:
if place_free(x+5,y) {x+=6}
e no lugar de ++explico depois++ coloque:
if place_free(x-5,y) {x-=6}
não se esqueça de fazer com que o player não possa atravessar a pedra, pois se ele puder quando a pedra colidir com a parede por exemplo ela vai parar e o player vai atravessar ela, pode dar um efeito legal no jogo, pode não dar... se for o caso deixe a pedra "solida" ou sei lá poe codigos no step
enfim espero ter resolvido seu problema mas infelizmente vc não especificou seu problema se tivesse a ajuda seria muito melhor mas fiz o melhor que pude levando em consideração que tenho preguiça de digitar se não tivesse aí eu teria ajudado de verdade xD
Re: Como faço um buraco negro?
if distance_to_object(buraco) < 150
{
gravity_direction=point_direction(x,y,buraco.x,buraco.y)
gravity=0.5;
}
isso faz que ele seja acelerado...
FLW
{
gravity_direction=point_direction(x,y,buraco.x,buraco.y)
gravity=0.5;
}
isso faz que ele seja acelerado...
FLW
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Tópicos semelhantes
» Buraco Negro Que Suga Naves ???
» Buraco se cair morre...
» Ver se a um buraco/vala - Jogo de Plataforma
» O dia negro do sr.Scullen
» Inimigo ao chegar perto de um "buraco" da meia volta.
» Buraco se cair morre...
» Ver se a um buraco/vala - Jogo de Plataforma
» O dia negro do sr.Scullen
» Inimigo ao chegar perto de um "buraco" da meia volta.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|