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
[Duvida] limitando a area do obj
5 participantes
Página 1 de 1
[Duvida] limitando a area do obj
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 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)
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 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)
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Duvida] limitando a area do obj
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)
Re: [Duvida] limitando a area do obj
theguitarmester
vlw manow só que nem funcionou :/
vo explica de novo XD
quero 'limitar' o obj controlado pelo mouse dentro de uma area ele nao pode ultrapassar essa area retangular
vlw manow só que nem funcionou :/
vo explica de novo XD
quero 'limitar' o obj controlado pelo mouse dentro de uma area ele nao pode ultrapassar essa area retangular
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Duvida] limitando a area do obj
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
SIGILOSO- Games Ranking :
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 :
x 0 x 2 x 0
x 4 x 2 x 1
x 0 x 0 x 0
Re: [Duvida] limitando a area do obj
x1 = median(x_minimo, x, x_maximo)
y1 = median(y_minimo, y, y_maximo)
Agora é só substituir os valores em negrito.
Até mais!
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:
Re: [Duvida] limitando a area do obj
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".PedroX escreveu:x1 = median(x_minimo, x, x_maximo)
y1 = median(y_minimo, y, y_maximo)
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- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [Duvida] limitando a area do obj
VLW gente!
o code do PedroX matou a pau
eu não tinha visto 'median' até hoje
pra mim funcionou assim ..
o code do PedroX matou a pau
eu não tinha visto 'median' até hoje
pra mim funcionou assim ..
- Código:
x1 = median(mouse_x-VALOR,x, mouse_x+VALOR)
y1 = median(mouse_y-VALOR, y, mouse_y+VALOR)
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Duvida] limitando a area do obj
???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- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [Duvida] limitando a area do obj
saim seu code fico muito fera cara e ainda da pra regular a velocidade, to usando ele agora uhauahua fico perfeito XD
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Duvida] Zoom só na area selecionada - GMS
» [Sugestao/Duvida] Area para OSs portateis
» Limitando direções
» definição de área
» to na area!!!
» [Sugestao/Duvida] Area para OSs portateis
» Limitando direções
» definição de área
» to na area!!!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|