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
» player não consegue andar
por lovn7 Ontem à(s) 13:33

» É possível fazer istó no game maker
por William Lima Ontem à(s) 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[Pedido Script] de Movemento Isometrico

+2
MagnetBomber
!!Game Play!!
6 participantes

Ir para baixo

[Pedido Script] de Movemento Isometrico Empty [Pedido Script] de Movemento Isometrico

Mensagem por !!Game Play!! Seg 08 Abr 2013, 15:59

Quais os código que usam para o player irem nestas direções :


(A) (W)
↖ ↗

↙ ↘
(S) (D)


*Teclas Pressionadas Não Importante , estou pedindo só script

Meio em diagonal , tipo isométrico , se alguém puder ajudar , ficarei grato , ate mais !


Última edição por !!Game Play!! em Seg 08 Abr 2013, 18:45, editado 1 vez(es)
!!Game Play!!
!!Game Play!!

Data de inscrição : 24/12/2011
Reputação : 4
Número de Mensagens : 159
Prêmios : [Pedido Script] de Movemento Isometrico 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

http://www.blackcubestudio.tkk/

Ir para o topo Ir para baixo

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por MagnetBomber Seg 08 Abr 2013, 16:09

você coloca +ou- isso:
Código:

hspeed=5
vspeed=5
é só trocar 5 pela velocidade. por exemplo, pra esquerda:
Código:

hspeed=-5
pra direita:
Código:

hspeed=5
pra cima:
Código:

vspeed=-5
pra baixo:
Código:

vspeed=5
depois é só juntar vspeed com hspeed como no primeiro exemplo, e ele vai na diagonal!
MagnetBomber
MagnetBomber

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/04/2013
Reputação : 9
Número de Mensagens : 206
Prêmios : [Pedido Script] de Movemento Isometrico 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

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por saim Seg 08 Abr 2013, 16:11

Eu definiria as direções, guardaria-as numa array e movimentaria em função das teclas apertadas.
>create<
Código:
dir[0] = 45;  tecla[0] = ord("W");
dir[1] = 135; tecla[1] = ord("A");
dir[2] = 225; tecla[2] = ord("S");
dir[3] = 315; tecla[3] = ord("D");
>step<
Código:
for(i = 0; i < 4; i += 1){
   if (keyboard_check(tecla[i])){
      direction = dir[i];
      }
   }
Esse é só um rascunho. Não define a velocidade nem permite que se aperte mais de uma tecla ao mesmo tempo. Mas é uma base de raciocínio pra você poder desenvolver a engine.

off: Agora, me diz uma coisa... Comovocê fez pra "escrever" as setas?
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 : [Pedido Script] de Movemento Isometrico 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

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por !!Game Play!! Seg 08 Abr 2013, 18:06

Obrigado por comentarem man , mas infelizmente meu problema ainda não ta solucionado , tipo o script que o MagnetBomber me deu , só faz andar pro lado e pro outro , não vai pra cima e pra baixo . Não sei se coloquei o código aqui errado mas eu fiz o seguinte :

"if keyboard_check_pressed (vk_left)
{
hspeed=5
vspeed=5
}

if keyboard_check_pressed (vk_right)
{
hspeed=5
vspeed=5
}

if keyboard_check_pressed (vk_up)
{
vspeed=-5
hspeed=-5
}

if keyboard_check_pressed (vk_down)
{
vspeed=5
hspeed=5
}"


Se tiver do jeito que você explicou , sinto-lhe dizer que não funcionou , se puder pelo menos fazer uma engine , ou me da um exemplo melhor ficarei grato

E saim eu não entendi nada do seu código muito bem , como você mesmo disse é um rascunho , se puder me explicar melhor , ajudaria muito.
Eu achei as teclas no Wikipédia
olha ai http://pt.wikipedia.org/wiki/Seta_(s%C3%ADmbolo)
!!Game Play!!
!!Game Play!!

Data de inscrição : 24/12/2011
Reputação : 4
Número de Mensagens : 159
Prêmios : [Pedido Script] de Movemento Isometrico 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

http://www.blackcubestudio.tkk/

Ir para o topo Ir para baixo

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por Adilson Thiago Vieira Seg 08 Abr 2013, 18:12

Deve funcionar,testa ai:
Código:

if keyboard_check_pressed (vk_left)
hspeed=-5
if keyboard_check_released(vk_left)
hspeed=0

if keyboard_check_pressed (vk_right)
hspeed=5
if keyboard_check_released(vk_right)
hspeed=0

if keyboard_check_pressed (vk_up)
vspeed=-5
if keyboard_check_released(vk_up)
vspeed=0

if keyboard_check_pressed (vk_down)
vspeed=5
if keyboard_check_released(vk_down)
hspeed=0
Adilson Thiago Vieira
Adilson Thiago Vieira

Games Ranking : Sem avaliações

Notas recebidas : D+C+C+D
Data de inscrição : 17/10/2012
Reputação : 25
Número de Mensagens : 367
Prêmios : [Pedido Script] de Movemento Isometrico 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

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por willcraft2 Seg 08 Abr 2013, 18:18

ta ai:
Código:

if keyboard_check_pressed (ord('W'))
{
y=y-5
}

if keyboard_check_pressed (ord('A'))
{
x=x-5
}

if keyboard_check_pressed (ord('S'))
{
y=y+5
}

if keyboard_check_pressed (ord('D'))
{
x=x+5
}
willcraft2
willcraft2

Games Ranking : Nota D

Notas recebidas : D + D
Data de inscrição : 06/04/2012
Reputação : 42
Número de Mensagens : 682
Prêmios : [Pedido Script] de Movemento Isometrico Empty

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

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por !!Game Play!! Seg 08 Abr 2013, 18:19

Adilson Thiago Vieira seu código ate funcionou bem , mas eu meio que não especifiquei , eu quero que ele ande em diagonal em apenas uma tecla tipo , baixo ou W , não ter que aperta meia lua tipo <-- | (lado)e(baixo).
v
!!Game Play!!
!!Game Play!!

Data de inscrição : 24/12/2011
Reputação : 4
Número de Mensagens : 159
Prêmios : [Pedido Script] de Movemento Isometrico 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

http://www.blackcubestudio.tkk/

Ir para o topo Ir para baixo

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por Adilson Thiago Vieira Seg 08 Abr 2013, 18:27

Entao veja se é isto que voce que manow: =]
Código:

if keyboard_check_pressed (ord("A"))
motion_set(135,5)
if keyboard_check_released(ord("A"))
speed=0

if keyboard_check_pressed (ord("W"))
motion_set(45,5)
if keyboard_check_released(ord("W"))
speed=0

if keyboard_check_pressed (ord("S"))
motion_set(225,5)
if keyboard_check_released(ord("S"))
speed=0

if keyboard_check_pressed (ord("D"))
motion_set(315,5)
if keyboard_check_released(ord("D"))
speed=0
Adilson Thiago Vieira
Adilson Thiago Vieira

Games Ranking : Sem avaliações

Notas recebidas : D+C+C+D
Data de inscrição : 17/10/2012
Reputação : 25
Número de Mensagens : 367
Prêmios : [Pedido Script] de Movemento Isometrico 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

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por !!Game Play!! Seg 08 Abr 2013, 18:30

Pronto . Este foi , obrigado man , ajudou muito !
!!Game Play!!
!!Game Play!!

Data de inscrição : 24/12/2011
Reputação : 4
Número de Mensagens : 159
Prêmios : [Pedido Script] de Movemento Isometrico 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

http://www.blackcubestudio.tkk/

Ir para o topo Ir para baixo

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por Tiago Lima Seg 08 Abr 2013, 18:30

Uma adaptação no código você postou:

Código:
if keyboard_check_pressed (vk_left)
{
hspeed=-5;
vspeed=5;
}

if keyboard_check_pressed (vk_right)
{
hspeed=5;
vspeed=-5;
}

if keyboard_check_pressed (vk_up)
{
vspeed=-5;
hspeed=-5;
}

if keyboard_check_pressed (vk_down)
{
vspeed=5;
hspeed=5;
}

Não testei por que meu computador está ocupado renderizando um video, mas tente entender a lógica da coisa, e adapte a sua necessidade.

Edit: Meu pc tá tão lento que o tempo que demorou pra postar deu pra te responderem... rsrsrs e o video tá só em 56%...
Tiago Lima
Tiago Lima

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 14/07/2008
Reputação : 17
Número de Mensagens : 200
Prêmios : [Pedido Script] de Movemento Isometrico Empty

Medalhas x 0 Tutoriais x 1 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://www.youtube.com/user/CanalNexteLevel

Ir para o topo Ir para baixo

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

Mensagem por saim Ter 09 Abr 2013, 08:21

!!Game Play!! escreveu:E saim eu não entendi nada do seu código muito bem , como você mesmo disse é um rascunho , se puder me explicar melhor , ajudaria muito.
Colocando comentários nos códigos
>create<
Código:
// armazena as direções e teclas em arrays
dir[0] = 45;  tecla[0] = ord("W"); // tecla "W", 45°
dir[1] = 135; tecla[1] = ord("A"); // tecla "A", 135°
dir[2] = 225; tecla[2] = ord("S"); // tecla "S", 225°
dir[3] = 315; tecla[3] = ord("D"); // tecla "D", 315°
>step<
Código:
// num "for", verifica qual tecla está apertada e define a direção
for(i = 0; i < 4; i += 1){ // pra cada tecla definida na array
   if (keyboard_check(tecla[i])){ // se ela está apertada
      direction = dir[i]; // define a direção
      }
   }

Esse "for" é o mesmo que dizer:
Código:
if (keyboard_check(tecla[0])){ // se a tecla[0] ("W")está apertada
   direction = dir[0]; // define a direção como dir[0] (45°)
   }
if (keyboard_check(tecla[1])){ // se a tecla[1] ("A")está apertada
   direction = dir[1]; // define a direção como dir[1] (135°)
   }
if (keyboard_check(tecla[2])){ // se a tecla[2] ("S")está apertada
   direction = dir[2]; // define a direção como dir[2] (225°)
   }
if (keyboard_check(tecla[3])){ // se a tecla[3] ("D")está apertada
   direction = dir[3]; // define a direção como dir[3] (315°)
   }
A falha do código é que ele não define a velocidade e dá prioridade às últimas teclas da array (por exemplo, se "W" e "D" forem apertadas ao mesmo tempo, a direção será 315°). Tudo fácil de resolver, mas requer definições suas, como por exemplo... você QUER definir a velocidade (ou quer a velocidade constante o tempo todo, só a direção que muda)? Você quer que uma direção tenha prioridade sobre a outra ou prefere uma média delas, no caso de mais teclas apertadas ao mesmo tempo? E, por falar nisso, as direções são essas mesmas ou você preferiria 30-150-210-330?
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 : [Pedido Script] de Movemento Isometrico 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

[Pedido Script] de Movemento Isometrico Empty Re: [Pedido Script] de Movemento Isometrico

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