Conectar-se

Esqueci minha senha

Últimos assuntos
» [Duvida] O que aprender
Hoje à(s) 00:17 por Fubukki

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» colisão de queda após outra colisão dando problema
Qui 27 Ago 2015, 13:51 por manobrother

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

» Tipo de Draw que dê melhor fps...
Sex 21 Ago 2015, 12:25 por Pai véi

Quem está conectado
24 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 24 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

spawnar aleatoriamente e velocidade

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

spawnar aleatoriamente e velocidade

Mensagem por manobrother em Seg 11 Ago 2014, 17:43

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!
avatar
manobrother

Data de inscrição : 31/10/2013
Número de Mensagens : 206
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por Susano em Seg 11 Ago 2014, 18:09

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.
avatar
Susano

Data de inscrição : 16/05/2014
Número de Mensagens : 101
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://indiemakersbr.forumeiros.com

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por manobrother em Seg 11 Ago 2014, 18:13

@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
avatar
manobrother

Data de inscrição : 31/10/2013
Número de Mensagens : 206
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por matheusco em Seg 11 Ago 2014, 18:19

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)
avatar
matheusco

Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por manobrother em Seg 11 Ago 2014, 18:31

@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
avatar
manobrother

Data de inscrição : 31/10/2013
Número de Mensagens : 206
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por matheusco em Seg 11 Ago 2014, 18:33

@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 Happy
avatar
matheusco

Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por manobrother em Seg 11 Ago 2014, 18:47

@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 Happy




cara testei aqui pus os numeros todos e tal, mas nao esta querendo spawnar, como eu posso fazer?
avatar
manobrother

Data de inscrição : 31/10/2013
Número de Mensagens : 206
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por matheusco em Seg 11 Ago 2014, 19:07

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.
avatar
matheusco

Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por manobrother em Seg 11 Ago 2014, 19:16

@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
avatar
manobrother

Data de inscrição : 31/10/2013
Número de Mensagens : 206
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por matheusco em Seg 11 Ago 2014, 19:27

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.
avatar
matheusco

Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por JoaoVanBlizzard em Qua 13 Ago 2014, 12:13

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)
o valor da frente e o ultimo indicam de onde até onde o ninja ira aparecer, ele não irá aparecer em posição maiores que a ultima nem menores que a primeira, se os valores tirem (0,2) os valores que ele irá aparecer é 0,1 e 2 entendeu?

duvidas é só perguntar ok.
avatar
JoaoVanBlizzard

Ranking : Nota B
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Número de Mensagens : 1925
Insígnias de JAM :

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

Prêmios
   : 1
   : 2
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por Isaque Onix em Qua 13 Ago 2014, 13:37

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))
avatar
Isaque Onix

Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por manobrother em Qua 13 Ago 2014, 14:19

@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
avatar
manobrother

Data de inscrição : 31/10/2013
Número de Mensagens : 206
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por Isaque Onix em Qua 13 Ago 2014, 14:30

falows... precisando ;)  blz blz 
avatar
Isaque Onix

Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: spawnar aleatoriamente e velocidade

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum