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


[Duvida] limitando a area do obj

5 participantes

Ir para baixo

[Duvida] limitando a area do obj Empty [Duvida] limitando a area do obj

Mensagem por Gonzo Qua 26 Dez 2012, 22:47

gente com esse code eu controlo um obj pelo mouse para os lados e para cima e para baixo, gostaria de um modo para limitar uma area horizontal e vertical para o obj controlado pelo mouse não ultrapassar sem usar colisão !
imaginem um 1ºretangulo do tamanho da tela com outro 2ºretangulo da metade do 1ºretangulo o obj controlado pelo mouse nao poderia ultrapassar 2ºretangulo Smile VLW

no create()
x1=mouse_x
y1=mouse_y

no step()
x1=mouse_x
y1=mouse_y
move_towards_point(x1,y1,distance_to_point(x1,y1)/20)
avatar
Gonzo

Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios : [Duvida] limitando a area do obj 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

[Duvida] limitando a area do obj Empty Re: [Duvida] limitando a area do obj

Mensagem por theguitarmester Qua 26 Dez 2012, 23:24

algo Assim:
Código:
no step()
if mouse_x>room_width/2 x1=mouse_x
if mouse_y>room_width/2 y1=mouse_y
move_towards_point(x1,y1,distance_to_point(x1,y1)/20)
Não sei Por Exato o que quer, mas com isso você já deve ter uma idéia do que Fazer.
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2208
Prêmios : [Duvida] limitando a area do obj Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

[Duvida] limitando a area do obj Empty Re: [Duvida] limitando a area do obj

Mensagem por Gonzo Qua 26 Dez 2012, 23:46

theguitarmester

vlw manow só que nem funcionou :/

vo explica de novo XD Smile

quero 'limitar' o obj controlado pelo mouse dentro de uma area ele nao pode ultrapassar essa area retangular Smile
avatar
Gonzo

Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios : [Duvida] limitando a area do obj 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

[Duvida] limitando a area do obj Empty Re: [Duvida] limitando a area do obj

Mensagem por SIGILOSO Qui 27 Dez 2012, 00:19

Se eu entendi bem, você quer que o objeto seja controlado pelo mouse, mas se passar de uma certa área, ele não se mova mais, correto?
Código:

if object.x>limite_da_esquerda and object.x<limite_da_direita
object.x=mouse_x
if object.x>limite_da_direita object.x=limite_da_direita
if object.x<limite_da_esquerda object.x=limite_da_esquerda
Acredito que vá funcionar, usei um código parecido no Berfecks-8 Smile
afro
SIGILOSO
SIGILOSO

Games Ranking : Nota A

Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios : [Duvida] limitando a area do obj Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 4 Prata x 2 Bronze x 1

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

Ir para o topo Ir para baixo

[Duvida] limitando a area do obj Empty Re: [Duvida] limitando a area do obj

Mensagem por PedroX Qui 27 Dez 2012, 00:27

x1 = median(x_minimo, x, x_maximo)
y1 = median(y_minimo, y, y_maximo)

Agora é só substituir os valores em negrito.

Até mais!

_________________


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:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6086
Prêmios : [Duvida] limitando a area do obj Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

[Duvida] limitando a area do obj Empty Re: [Duvida] limitando a area do obj

Mensagem por saim Qui 27 Dez 2012, 09:41

PedroX escreveu:x1 = median(x_minimo, x, x_maximo)
y1 = median(y_minimo, y, y_maximo)
Era o que eu ia postar. "median" (mediana) te retorna o valor do meio entre os argumentos. Não é a média, é colocar tudo em ordem crescente e pegar o do meio. Não me pergunte o que acontece com um número par de argumentos. Eu sei que ainda um deles é retornado, mas não sei se é o do meio "pra baixo" ou do meio "pra cima".
Mas eu alteraria levemente o código:
x = median(x_minimo, mouse_x, x_maximo);
y = median(y_minimo, mouse_y, y_maximo);

O bacana dessa função é que ela faz o objeto atingir o limite mesmo se o mouse fugir muito rápido da caixa. Usar um "if" tem a desvantagem de que se isso acontecer, o objeto não fica no limite, fica na última posição registrada pelo game maker (que tem uma taxa de atualização bem menor que a do windows, segundo me disseram). Aí, pra tirar o mouse do limite e deixar o objeto lá, você teria que mover o mouse com cuidado.
Nenhum jogador quer ter que tomar cuidado pra programação funcionar.
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 : [Duvida] limitando a area do obj 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

[Duvida] limitando a area do obj Empty Re: [Duvida] limitando a area do obj

Mensagem por Gonzo Qui 27 Dez 2012, 11:09

VLW gente!

o code do PedroX matou a pau Smile

eu não tinha visto 'median' até hoje Smile

pra mim funcionou assim ..

Código:

x1 = median(mouse_x-VALOR,x, mouse_x+VALOR)
y1 = median(mouse_y-VALOR, y, mouse_y+VALOR)
VLW
avatar
Gonzo

Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios : [Duvida] limitando a area do obj 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

[Duvida] limitando a area do obj Empty Re: [Duvida] limitando a area do obj

Mensagem por saim Qui 27 Dez 2012, 11:49

Mina do Rock escreveu:pra mim funcionou assim ..

Código:

x1 = median(mouse_x-VALOR,x, mouse_x+VALOR)
y1 = median(mouse_y-VALOR, y, mouse_y+VALOR)
???
Sério que funcionou? É que com mouse_x estando em dois limites ao mesmo e com "x" se movendo em direção ao mouse... fiquei com a impressão que isso não vai te limitar nada.

Agora que eu vi que você quer se mover lentamente em direção a (X1, Y1). Eu tinha achado que você só queria seguir o mouse. Por isso aquela história de mexer o mouse rapidão.
Pra seguir o mouse numa velocidade = 1/20*distância, eu faria o que o PedroX fez, mesmo, só trocando os argumentos (x, y) por (mouse_x, mouse_y). Aí, você garante que (X1, Y1) estará dentro do retângulo. Como o objeto se moverá em direção ao ponto, não sairá do retângulo.

Na verdade, até pode sair, mas apenas alguns pixels. Pra garantir que nem uns pixels sejam ultrapassados, eu trocaria o move_towards point por toda uma nova matemática:
Código:
var dist, dire, velo, posX, posY;
dire = point_direction(x, y, mouse_x, mouse_y); //direção ao mouse
dist = point_distance(x, y, mouse_x, mouse_y); //distância ao mouse
velo = dist / 20; //velocidade
posX = x + lengthdir_x(velo, dire); //próxima posição sem considerar os limites
posY = y + lengthdir_y(velo, dire); //próxima posição sem considerar os limites
x = median(limite_inferior_x, posX, limite_superior_x); // agora considera os limites
y = median(limite_inferior_y, posY, limite_superior_y); // agora considera os limites
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 : [Duvida] limitando a area do obj 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

[Duvida] limitando a area do obj Empty Re: [Duvida] limitando a area do obj

Mensagem por Gonzo Qui 27 Dez 2012, 12:22

saim seu code fico muito fera cara Smile e ainda da pra regular a velocidade, to usando ele agora uhauahua fico perfeito XD

feliz2
avatar
Gonzo

Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios : [Duvida] limitando a area do obj 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

[Duvida] limitando a area do obj Empty Re: [Duvida] limitando a area do obj

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