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]Animação da Camera (view)
4 participantes
Página 1 de 1
[duvida]Animação da Camera (view)
Olá pessoal o/
Eu estou com uma duvida sobre uma animação da camera(view) que estou tentando fazer, vou tentar explicar o que eu fiz, e o meu problema:
O que eu fiz:(funcionando perfeitamente)
Info adicional: Player tem a velocidade 3.
Quando o player aperta a seta para algum lado, direita ou esquerda, a camera tem a velocidade inicial '2' por 1 segundo, depois ela passa a ter a velocidade do player que é 3! (uma animação básica para a camera...)
O código que eu usei para isto, está no spoiler abaixo!
Como eu tentei resolver:
O que eu gostaria:
Que alguém me ajuda-se com este problema, como viram, eu tentei resolver, mas não consegui, eu sei qual foi o problema, mas o problema, é resolver o problemawhat?, já que eu não consegui pensar em alguma outra forma de resolve-lo...
Obrigado por quem me ajudar, espero que tenham entendido a minha explicação...
Eu estou com uma duvida sobre uma animação da camera(view) que estou tentando fazer, vou tentar explicar o que eu fiz, e o meu problema:
O que eu fiz:(funcionando perfeitamente)
Info adicional: Player tem a velocidade 3.
Quando o player aperta a seta para algum lado, direita ou esquerda, a camera tem a velocidade inicial '2' por 1 segundo, depois ela passa a ter a velocidade do player que é 3! (uma animação básica para a camera...)
O código que eu usei para isto, está no spoiler abaixo!
- Código:
- Isto está no objeto: o_camera
Info adicional: A variavel 'dir' é para controlar o lado que o player está, dependendo do lado, ele muda a posição da camera:
Fica no evento 'step'- Código:
///Controla a direção da camera, e sua velocidade no 'alarm'
if keyboard_check_pressed(vk_left) or keyboard_check_pressed( ord ("A") ) and dir = false{
alarm[0]=room_speed
dir = false
};
if keyboard_check_pressed(vk_right) or keyboard_check_pressed( ord ("D") ) and dir = true{
alarm[0]=room_speed
dir = true
};
///Posição da camera:
if global.cs = false and dir = 1{
x=o_martirus.x+260;
y=o_martirus;
};
if global.cs = false and dir = 0{
x=o_martirus.x-260;
y=o_martirus;
};
Como eu tentei resolver:
- Código da tentativa:
- Esse código eu coloquei antes do de cima, no mesmo step:
Info adicional: dir = true é direita, dir = false é esquerda!- Código:
if keyboard_check_pressed(vk_left) or keyboard_check_pressed( ord ("A") ) and dir = true{
view_hspeed[0]=18
dir = false
};
if keyboard_check_pressed(vk_right) or keyboard_check_pressed( ord ("D") ) and dir = false{
view_hspeed[0]=18
dir = true
};
1-Isso acontece por 1 segundo, acho que por causa do código acima deste!
2-Quando está nessa 'transição' e a pessoa solta a tecla, para na metade da 'transição', e ao apertar novamente para o mesmo lado, o player continua na metade...
O que eu gostaria:
Que alguém me ajuda-se com este problema, como viram, eu tentei resolver, mas não consegui, eu sei qual foi o problema, mas o problema, é resolver o problema
Obrigado por quem me ajudar, espero que tenham entendido a minha explicação...
Magritte- Data de inscrição : 22/04/2013
Reputação : 17
Número de Mensagens : 163
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [duvida]Animação da Camera (view)
Cara, li e reli e ainda não entendi o que tentou fazer. Você quer um atraso na câmera? Respondi uma duvida parecida:
https://gmbr.forumeiros.com/t24868-como-suavizar-a-camera#184435
Pode ser que te ajude.
FLWS!
https://gmbr.forumeiros.com/t24868-como-suavizar-a-camera#184435
Pode ser que te ajude.
FLWS!
Re: [duvida]Animação da Camera (view)
Alex, na verdade não é isso... e eu sou um péssimo 'explicador'...
Bom, é o seguinte:
Bom, é o seguinte:
- Funcionou:
- Eu configurei a camera, para que sua velocidade inicial ser igual a 2 (por 1 segundo)...
E depois de se passar 1 segundo, ela tenha a velocidade do player!
- Não funcionou:
- Mas acontece, que quando o player vira para o lado inverso que está indo, por exemplo, vai para a direita, e vira para a esquerda, a camera fica com a velocidade inicial 2, e depois de 1 segundo 3, e por este motivo, ele acaba saindo da view pelo lado esquerdo....
- O que eu queria:
- Que quando o player estivesse indo para a direita, e vira-se para a esquerda, a camera aumentasse a velocidade de 'transição' de um lado para o outro, e fosse para a onde está o player, mesmo se o jogador soltasse a tecla daquele lado...
- Códigos (pego da info):
- Código:
Create Event:
execute code:
global.cs = false //define a CutScene para falseo
dir = true
Alarm Event for alarm 0:
execute code:
view_hspeed[0]=3
Step Event:
execute code:
///Controles da camera
/* Parte 1:
Basicamente, o que ele faz é: Quando o Jogador aperta essa tecla, e estiver indo para aquele lado,
deixa a camera com um pequeno atraso, para dar um efeito legal */
if keyboard_check_pressed(vk_left) or keyboard_check_pressed( ord ("A") ) and dir = false{
alarm[0]=room_speed
dir = false
};
if keyboard_check_pressed(vk_right) or keyboard_check_pressed( ord ("D") ) and dir = true{
alarm[0]=room_speed
dir = true
};
/* Parte 2:
O que ele faz, ou era pra fazer, é:
Quando a direção que ele vai é inversa ao que estava indo, deixa a velocidade da view maior
para poder mudar o lado do player para o inverso... */
if keyboard_check_released(vk_left) or keyboard_check_released( ord ("A") ) and dir = true{
view_hspeed[0]=18
};
if keyboard_check_released(vk_right) or keyboard_check_released( ord ("D") ) and dir = false{
view_hspeed[0]=18
};
/* Parte 3:
Ele serve para quando o jogador solte a tecla, a velocidade da view seja menor novamente,
Para o efeito funcionar novamente na proxima vez! */
if keyboard_check_released(vk_left) or keyboard_check_released( ord ("A") ){
view_hspeed[0]=2
};
if keyboard_check_released(vk_right) or keyboard_check_released( ord ("D") ){
view_hspeed[0]=2
};
if global.cs = false and dir = true{
x=player.x+260;
y=player;
};
if global.cs = false and dir = false{
x=player.x-260;
y=player;
};
Última edição por Magritte em Seg 18 Nov 2013, 14:23, editado 1 vez(es) (Motivo da edição : Colocando o código usado)
Magritte- Data de inscrição : 22/04/2013
Reputação : 17
Número de Mensagens : 163
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [duvida]Animação da Camera (view)
- Código:
if (obj_player . x > 0 and obj_player . x < room_width){
// coloque seu código todo aqui
}
Valores (0 e room_width) apenas para referência.
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]Animação da Camera (view)
Se é só pelo efeito eu faria da seguinte forma.
dir valera -1 para esquerda e 1 para direita.
dir valera -1 para esquerda e 1 para direita.
- Código:
left = keyboard_check(vk_left) || keyboard_check(ord('A'));
right = keyboard_check(vk_right) || keyboard_check(ord('D'));
if (right-left) != 0 dir = right-left; // manter a direção mesmo sem tecla pressionada
vx = (player.x+260*dir) - view_wview/2; // calcular posição final da view_xview
// formula para interpolação linear automática
// valor_atual += (valor_final-valor_atual)/fator;
// Quanto menor o fator mais rápido a interpolação
view_xview += (vx-view_xview)/15;
Última edição por Kabeção em Seg 18 Nov 2013, 19:17, editado 1 vez(es)
Re: [duvida]Animação da Camera (view)
#saim
Não era exatamente isso que eu queria... acho que eu não vou conseguir explicar direito...
#Kabeção
Você me salvou cara, era isso mesmo que eu precisava, valeu =)
Só teve um pequeno problema, agora a view mostra a parte que 'não existe' da room, o vazio... mas funcionou, obrigado mesmo =)
Créditos garantidos a todos que me ajudaram, ou tentaram, mas não deu certo por causa da minha explicação...
Não era exatamente isso que eu queria... acho que eu não vou conseguir explicar direito...
#Kabeção
Você me salvou cara, era isso mesmo que eu precisava, valeu =)
Só teve um pequeno problema, agora a view mostra a parte que 'não existe' da room, o vazio... mas funcionou, obrigado mesmo =)
Magritte- Data de inscrição : 22/04/2013
Reputação : 17
Número de Mensagens : 163
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» HUD seguir personagem/camera (view)
» Dúvida com câmera
» Duvida sobre Camera
» [Duvida] Camera seguindo
» Duvida com camera lenta específica
» Dúvida com câmera
» Duvida sobre Camera
» [Duvida] Camera seguindo
» Duvida com camera lenta específica
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|