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


(resolvido) nos canto

+3
Gonçalves
Lauro
manobrother
7 participantes

Ir para baixo

(resolvido) nos canto Empty (resolvido) nos canto

Mensagem por manobrother Qua 29 Out 2014, 15:03

então, estou usando esse código:
Código:
  switch (choose(0, 1, 2, 3))
    {
        case 0: /* alguma coisa aqui */ ; break;
        case 1: /* alguma coisa aqui */ ; break;
        case 2: instance_create(irandom(room_width), (room_height) - 100,obj_inimigo) ; break;
        case 3: instance_create(irandom(room_width), (room_height) + 100,obj_inimigo) ; break;
    }

eu quero que o jogo escolha entre os quatro lados do quadrado da tela para spawnar um inimigo fora da room, para ele nao spawnar na tela do nada, mas quando começo o jogo ele só spawna embaixo da tela (eu sei que só coloquei 2, mas quando esses ai funcionarem eu ponho o resto), enfim agradeço desde já


Última edição por manobrother em Qua 29 Out 2014, 20:23, editado 1 vez(es)
manobrother
manobrother

Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios : (resolvido) nos canto Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

(resolvido) nos canto Empty Re: (resolvido) nos canto

Mensagem por Lauro Qua 29 Out 2014, 15:30

Não entendi muito bem, acho que é isso o que você quer:
Código:

switch (choose(0, 1, 2, 3))
    {
        case 0:
instance_create(irandom_range(0,room_width/2),irandom_range(0,room_height/2),obj_inimigo) ; break;
        case 1:
instance_create(irandom_range(room_width,room_width/2),irandom_range(room_height,room_height/2),obj_inimigo) ; break;
        case 2: instance_create(irandom_range(room_width,room_width/2),irandom_range(0,room_height/2),obj_inimigo) ; break;
        case 3: instance_create(irandom_range(0,room_width/2),irandom_range(room_height,room_height/2),obj_inimigo) ; break;
    }

Mas acho que seria mais fácil fazer isso
Código:

instance_create(irandom(room_width)irandom(room_height),obj_inimigo)


Última edição por Lauro em Qua 29 Out 2014, 15:36, editado 1 vez(es)
Lauro
Lauro

Games Ranking : Nota D

Notas recebidas : C+D
Data de inscrição : 09/11/2010
Reputação : 11
Número de Mensagens : 855
Prêmios : (resolvido) nos canto Empty

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

(resolvido) nos canto Empty Re: (resolvido) nos canto

Mensagem por Gonçalves Qua 29 Out 2014, 15:31

(room_height) + 100 faz com que ele seja gerado um pouco abaixo do limite inferior da tela. (room_height) - 100 faz com que ele seja gerado um pouco acima do limite inferior da tela. Não seria só -100?
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : (resolvido) nos canto Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

(resolvido) nos canto Empty Re: (resolvido) nos canto

Mensagem por gabrielsch Qua 29 Out 2014, 15:45

Não testei mas talvez isso resolva o teu problema:
Código:

var off, xx, yy;
off = 64
xx = choose(-off, room_width + off)
yy = choose(-off, room_height + off)

instance_create(xx + random_range(-off, off), yy + random_range(-off, off), obj_inimigo)

EDIT: Muda o valor 64 para qualquer valor que tu queira, quanto maior o valor maior a área.
gabrielsch
gabrielsch

Games Ranking : Nota A

Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios : (resolvido) nos canto Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

(resolvido) nos canto Empty Re: (resolvido) nos canto

Mensagem por Sewer Crawler Qua 29 Out 2014, 16:35

Testei o código do gabrielsch , deu certo.
Sewer Crawler
Sewer Crawler

Data de inscrição : 08/10/2014
Reputação : 27
Número de Mensagens : 236
Prêmios : (resolvido) nos canto Empty

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

(resolvido) nos canto Empty Re: (resolvido) nos canto

Mensagem por manobrother Qua 29 Out 2014, 17:52

gabrielsch escreveu:Não testei mas talvez isso resolva o teu problema:
Código:

var off, xx, yy;
off = 64
xx = choose(-off, room_width + off)
yy = choose(-off, room_height + off)

instance_create(xx + random_range(-off, off), yy + random_range(-off, off), obj_inimigo)

EDIT: Muda o valor 64 para qualquer valor que tu queira, quanto maior o valor maior a área.

vlw gabriel funcionou direitinho aqui, mas vc poderia me explicar teu codigo?
manobrother
manobrother

Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios : (resolvido) nos canto Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

(resolvido) nos canto Empty Re: (resolvido) nos canto

Mensagem por Thyago Qui 30 Out 2014, 00:38

Bem eu não sou o gabriel, mas o código dele manda escolher entre duas opções na horizontal, e outra escolha entre duas opções na vertical.

veja:
Código:
xx = choose(-off, room_width + off)

escolhe entre -64 ou 64 além da room na horizontal.


Código:
yy = choose(-off, room_height + off)

escolhe entre -64 e 64 depois da room na vertical.

. Qualquer coisa o gabriel da a explicação dele acho que sim, até mais.
Thyago
Thyago

Games Ranking : Nota B

Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios : (resolvido) nos canto Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

(resolvido) nos canto Empty Re: (resolvido) nos canto

Mensagem por gabrielsch Qui 30 Out 2014, 11:19

A rotina faz o jogo escolher um dos quatro quantos da room, pra entender melhor vamos definir o valor de off para 0.
Sendo assim a primeira coisa que o script faz é definir o valor de xx como sendo off negativo ou o tamanho horizontal da room somado com o valor de off, ou seja, ou o valor X vai ser na esquerda ou direita, depois ele usa o mesmo raciocínio para o eixo Y.
Com essa logica tu vai acabar tendo as coordenadas em um dos 4 cantos da sala. A variável off só é utilizada pra adicionar um fator aleatório quando o objeto for criado, sem ele o código ficaria ainda mais simples:
Código:
var xx, yy;
xx = choose(0, room_width)
yy = choose(0, room_height)

instance_create(xx, yy, obj_inimigo)
gabrielsch
gabrielsch

Games Ranking : Nota A

Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios : (resolvido) nos canto Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

(resolvido) nos canto Empty Re: (resolvido) nos canto

Mensagem por Isaque Onix Qui 30 Out 2014, 12:07

ja pediram isso aqui antes...

Código:
choose(
instance_create(choose(0,room_width),random(room_height),obj_inimigo),
instance_create(random(room_width),choose(0,room_height),obj_inimigo))
Ou ate

Código:
global.inimigo[0]=choose(
instance_create(choose(0,room_width),random(room_height),obj_inimigo),
instance_create(random(room_width),choose(0,room_height),obj_inimigo))

[edit]
desculpe, nao vi que tava resolvido.
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : (resolvido) nos canto Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

(resolvido) nos canto Empty Re: (resolvido) nos canto

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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