Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
spawnar aleatoriamente e velocidade
5 participantes
Página 1 de 1
spawnar aleatoriamente e velocidade
eu to fazendo um negocio de spawnar aleatoriamente e uso esse código:
instance_create(irandom(room_width+992), irandom(room_height+608),(obj_ninja1));
mas ele nao esta funcionando. Minha room mede 992 de largura (width) e 640 de altura (mas tem o 32 pixels do bloco do chão), enfim quero que ele spawne no canto inferior direito e inferior esquerdo aleatoriamente, as vezes na esquerda e as vezes na direita, mas nao esta dando.
Outra coisa e que eu queria que aumentasse a velocidade de spawnar com o tempo, mas eu não sou bom com alarmes, enfim agradeço desde ja para quem me ajudar!
instance_create(irandom(room_width+992), irandom(room_height+608),(obj_ninja1));
mas ele nao esta funcionando. Minha room mede 992 de largura (width) e 640 de altura (mas tem o 32 pixels do bloco do chão), enfim quero que ele spawne no canto inferior direito e inferior esquerdo aleatoriamente, as vezes na esquerda e as vezes na direita, mas nao esta dando.
Outra coisa e que eu queria que aumentasse a velocidade de spawnar com o tempo, mas eu não sou bom com alarmes, enfim agradeço desde ja para quem me ajudar!
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: spawnar aleatoriamente e velocidade
tenta colocar assim:
instance_create(irandom(room_width),irandom(room_height),(obj_ninja1));
voce colocou o +992 e o objeto desapareceu do mapa, como o room_width é 992, não precisa colocar +992, apenas deixe sem isto que funfa.
instance_create(irandom(room_width),irandom(room_height),(obj_ninja1));
voce colocou o +992 e o objeto desapareceu do mapa, como o room_width é 992, não precisa colocar +992, apenas deixe sem isto que funfa.
Re: spawnar aleatoriamente e velocidade
Susano escreveu:tenta colocar assim:
instance_create(irandom(room_width),irandom(room_height),(obj_ninja1));
voce colocou o +992 e o objeto desapareceu do mapa, como o room_width é 992, não precisa colocar +992, apenas deixe sem isto que funfa.
preciso que ele nasça somente nos cantos, com esse código ele nasce em qualquer lugar.
e o problema nao foi que ele apareceu, ele apareceu mas so em lugares errados
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: spawnar aleatoriamente e velocidade
instance_create(irandom(room_width+992), irandom(room_height+608),(obj_ninja1));
Por que você está somando o tamanho da room ao tamanho da room?
Acho que você deveria fazer algo do tipo:
x = irandom(1)
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
}
else
{
instance_create(0, room_height, obj_ninja1)
}
Se o random der 0, ele vai spawnar no canto direito, qualquer coisa diferente disso (nesse caso se der 1) ele spawna no canto esquerdo.
Seu código não faz muito sentido porque às vezes vai dar um valor maior que a própria sala, pois você está randomizando o dobro do tamanho dela. Além disso, esse seu código permite que o obj_ninja apareça em qualquer lugar da sala.
Também não deve usar parênteses no objeto dentro da função, a função é instance_create(x, y, obj)
Por que você está somando o tamanho da room ao tamanho da room?
Acho que você deveria fazer algo do tipo:
x = irandom(1)
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
}
else
{
instance_create(0, room_height, obj_ninja1)
}
Se o random der 0, ele vai spawnar no canto direito, qualquer coisa diferente disso (nesse caso se der 1) ele spawna no canto esquerdo.
Seu código não faz muito sentido porque às vezes vai dar um valor maior que a própria sala, pois você está randomizando o dobro do tamanho dela. Além disso, esse seu código permite que o obj_ninja apareça em qualquer lugar da sala.
Também não deve usar parênteses no objeto dentro da função, a função é instance_create(x, y, obj)
Re: spawnar aleatoriamente e velocidade
matheusco escreveu:instance_create(irandom(room_width+992), irandom(room_height+608),(obj_ninja1));
Por que você está somando o tamanho da room ao tamanho da room?
Acho que você deveria fazer algo do tipo:
x = irandom(1)
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
}
else
{
instance_create(0, room_height, obj_ninja1)
}
Se o random der 0, ele vai spawnar no canto direito, qualquer coisa diferente disso (nesse caso se der 1) ele spawna no canto esquerdo.
Seu código não faz muito sentido porque às vezes vai dar um valor maior que a própria sala, pois você está randomizando o dobro do tamanho dela. Além disso, esse seu código permite que o obj_ninja apareça em qualquer lugar da sala.
Também não deve usar parênteses no objeto dentro da função, a função é instance_create(x, y, obj)
é falando sobre meu código na verdade só percebi dps que coloquei, mas na verdade ele nao era meu problema xD, enfim vou testar aqui e ver o que da
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: spawnar aleatoriamente e velocidade
manobrother escreveu:matheusco escreveu:instance_create(irandom(room_width+992), irandom(room_height+608),(obj_ninja1));
Por que você está somando o tamanho da room ao tamanho da room?
Acho que você deveria fazer algo do tipo:
x = irandom(1)
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
}
else
{
instance_create(0, room_height, obj_ninja1)
}
Se o random der 0, ele vai spawnar no canto direito, qualquer coisa diferente disso (nesse caso se der 1) ele spawna no canto esquerdo.
Seu código não faz muito sentido porque às vezes vai dar um valor maior que a própria sala, pois você está randomizando o dobro do tamanho dela. Além disso, esse seu código permite que o obj_ninja apareça em qualquer lugar da sala.
Também não deve usar parênteses no objeto dentro da função, a função é instance_create(x, y, obj)
é falando sobre meu código na verdade só percebi dps que coloquei, mas na verdade ele nao era meu problema xD, enfim vou testar aqui e ver o que da
Acredito que desse jeito dê certo, mas se não der volta aqui que damos um jeito nisso
Re: spawnar aleatoriamente e velocidade
matheusco escreveu:manobrother escreveu:matheusco escreveu:instance_create(irandom(room_width+992), irandom(room_height+608),(obj_ninja1));
Por que você está somando o tamanho da room ao tamanho da room?
Acho que você deveria fazer algo do tipo:
x = irandom(1)
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
}
else
{
instance_create(0, room_height, obj_ninja1)
}
Se o random der 0, ele vai spawnar no canto direito, qualquer coisa diferente disso (nesse caso se der 1) ele spawna no canto esquerdo.
Seu código não faz muito sentido porque às vezes vai dar um valor maior que a própria sala, pois você está randomizando o dobro do tamanho dela. Além disso, esse seu código permite que o obj_ninja apareça em qualquer lugar da sala.
Também não deve usar parênteses no objeto dentro da função, a função é instance_create(x, y, obj)
é falando sobre meu código na verdade só percebi dps que coloquei, mas na verdade ele nao era meu problema xD, enfim vou testar aqui e ver o que da
Acredito que desse jeito dê certo, mas se não der volta aqui que damos um jeito nisso
cara testei aqui pus os numeros todos e tal, mas nao esta querendo spawnar, como eu posso fazer?
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: spawnar aleatoriamente e velocidade
Você tá colocando os códigos no Step Event?
Faz assim, cria um objeto: obj_roomcontrol
Em Step Event coloca:
x = irandom(1)
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
}
else
{
instance_create(0, room_height, obj_ninja1)
}
Mas spawnar um monster por frame é muita coisa, então adiciona um contador:
Em Create Event você colocar:
cont = 0
Em Step Event:
cont += 1
x = irandom(1)
if cont = 10
{
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
cont = 0
}
else
{
instance_create(0, room_height, obj_ninja1)
cont = 0
}
}
Isso vai definir cont = 0 quando você criar, e cada frame vai adicionar 1 ao contador e redefinir x, quando o contador for igual a 10 e ele vai criar o ninja em um dos dois cantos e resetar o contador.
Vou abrir um projeto aqui pra testar.
Testei aqui e deu certo. Se o seu não estiver dando, talvez esteja criando o obj_ninja fora da tela ou abaixo do chão, confere as coordenadas.
Faz assim, cria um objeto: obj_roomcontrol
Em Step Event coloca:
x = irandom(1)
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
}
else
{
instance_create(0, room_height, obj_ninja1)
}
Mas spawnar um monster por frame é muita coisa, então adiciona um contador:
Em Create Event você colocar:
cont = 0
Em Step Event:
cont += 1
x = irandom(1)
if cont = 10
{
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
cont = 0
}
else
{
instance_create(0, room_height, obj_ninja1)
cont = 0
}
}
Isso vai definir cont = 0 quando você criar, e cada frame vai adicionar 1 ao contador e redefinir x, quando o contador for igual a 10 e ele vai criar o ninja em um dos dois cantos e resetar o contador.
Vou abrir um projeto aqui pra testar.
Testei aqui e deu certo. Se o seu não estiver dando, talvez esteja criando o obj_ninja fora da tela ou abaixo do chão, confere as coordenadas.
Re: spawnar aleatoriamente e velocidade
matheusco escreveu:Você tá colocando os códigos no Step Event?
Faz assim, cria um objeto: obj_roomcontrol
Em Step Event coloca:
x = irandom(1)
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
}
else
{
instance_create(0, room_height, obj_ninja1)
}
Mas spawnar um monster por frame é muita coisa, então adiciona um contador:
Em Create Event você colocar:
cont = 0
Em Step Event:
cont += 1
x = irandom(1)
if cont = 10
{
if x = 0
{
instance_create(room_width, room_height, obj_ninja1)
cont = 0
}
else
{
instance_create(0, room_height, obj_ninja1)
cont = 0
}
}
Isso vai definir cont = 0 quando você criar, e cada frame vai adicionar 1 ao contador e redefinir x, quando o contador for igual a 10 e ele vai criar o ninja em um dos dois cantos e resetar o contador.
Vou abrir um projeto aqui pra testar.
Testei aqui e deu certo. Se o seu não estiver dando, talvez esteja criando o obj_ninja fora da tela ou abaixo do chão, confere as coordenadas.
o que eu nao estou entendendo é aonde colocar as coordenadas, sempre que coloco eles nascem no lugar errado
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: spawnar aleatoriamente e velocidade
As coordenadoas do Game Maker são assim.
X começa no 0 e aumenta da esquerda pra direita.
Y começa no 0 e aumenta de cima pra baixo (assim mesmo, diferente do plano cartesiano da escola)
instance_create(x, y, obj)
você tem que colocar os valor em x e y na função.
Se colocar instance_create(room_width, room_height, obj_ninja1) você vai criar o ninja no canto direito inferior.
Se colocar instance_create(0, room_height, obj_ninja1), vai criar no canto esquerdo inferior.
E você pode mexer com esses valor, por exemplo:
x = room_width/2
y = room_height/2
Isso é o meio exato da sala.
x = room_width -100
y = room_height - 100
Isso é no canto inferior direito, mas 100 pixels afastado das bordas.
X começa no 0 e aumenta da esquerda pra direita.
Y começa no 0 e aumenta de cima pra baixo (assim mesmo, diferente do plano cartesiano da escola)
instance_create(x, y, obj)
você tem que colocar os valor em x e y na função.
Se colocar instance_create(room_width, room_height, obj_ninja1) você vai criar o ninja no canto direito inferior.
Se colocar instance_create(0, room_height, obj_ninja1), vai criar no canto esquerdo inferior.
E você pode mexer com esses valor, por exemplo:
x = room_width/2
y = room_height/2
Isso é o meio exato da sala.
x = room_width -100
y = room_height - 100
Isso é no canto inferior direito, mas 100 pixels afastado das bordas.
Re: spawnar aleatoriamente e velocidade
preciso que ele nasça somente nos cantos, com esse código ele nasce em qualquer lugar.
e o problema nao foi que ele apareceu, ele apareceu mas so em lugares errados
Se você quer escolher onde ele apareça para não aparecer onde você não quer pode usar o choose veja um exemplo:
- Código:
Posicaox= choose(498,996) //pode mudar valores ou por mai
PosicaoY= choose(0,304,608)//pode mudar valores ou por mais
instance_create(Posicaox, PosicaoY, obj_ninja1)
assim ele irá spawnar onde você escolher que ele apareça, caso prefira gerar um spawn de uma distancia e outra aleatoriamente tem o randon range, ai vc define o valor inicial e final veja o exemplo:
- Código:
Posicaox= random_range(498,996) //
PosicaoY= random_range(0,608)//
instance_create(Posicaox, PosicaoY, obj_ninja1)
duvidas é só perguntar ok.
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: spawnar aleatoriamente e velocidade
Tente:
- Código:
choose(
instance_create(random(room_width),choose(0,room_height),obj_ninja1),
instance_create(choose(0,room_width),random(room_height),obj_ninja1))
Re: spawnar aleatoriamente e velocidade
Isaque Onix escreveu:Tente:
- Código:
choose(
instance_create(random(room_width),choose(0,room_height),obj_ninja1),
instance_create(choose(0,room_width),random(room_height),obj_ninja1))
opa vlw consegui aqui
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Como Fazer Um Objeto Spawnar Aleatoriamente
» Como Fazer Um Zombie Spawnar Em Um Certo Raio
» Aleatoriamente
» Escolher Aleatoriamente
» Sons tocarem aleatoriamente
» Como Fazer Um Zombie Spawnar Em Um Certo Raio
» Aleatoriamente
» Escolher Aleatoriamente
» Sons tocarem aleatoriamente
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos