🤔 Para Refletir :
"Deus ajuda quem cedo farma."
- Gui

[Game Maker]Movimento por Tiles (Estilo RM 2000)

Dr.XGB Masculino

O Cenourão
Administração
Administração
Jogador maluco, problemático, olho parado.
Juntou-se
21 de Julho de 2015
Postagens
570
Soluções
3
Bravecoins
2.833
Área
Programação
Motor de jogo
RPG Maker 2003
RPG Maker 2000 Motion

xo25.png



Autor: Dr.XGB
Plataforma: Game Maker 8.0
Dificuldade: Intermediário



Desenvolvi um pequeno sistema para o Game Maker onde você pode deixar o movimento muito parecido com a movimentação padrão do RPG Maker 2000. Muito útil para quem deseja fazer um jogo de Top Down ou até mesmo um de RPG. A movimentação tem, no total, 5 scripts que são realizados durante o jogo.
Aproveitei um recurso muito importante do GM onde você não precisa criar vários sprites para cada posição do herói, utilizei a mesma fórmula que o RPG Maker usa para mostrar o gráfico dos eventos através de uma única imagem — onde o denominamos como Charset —. O script capaz de fazer esta proeza, deve ser colocado no Evento Draw do objeto que receberá este charset. Mas antes você precisa declarar as variáveis no Evento Create.​

Create: Call Piece of Code
Código:
// Set Hero Graphics
charset = 'Chara1.png'
charframe = 0                            // charset index (0 to 7)
frame = FRAME_NORMAL                    // Animation frame
frame_simple = FRAME_NORMAL              // Drawing frame
dir_look = DIR_DOWN                      // direction
char_sprite = sprite_add(working_directory+'\Charset\'+charset,0,true,false,0,0)

//Set Hero State
walk = false
animation = false
fix_dir = false
phasing = false

image_speed = 0
self_speed = 4
current_move = -1
x_spot = 0
y_spot = 0

Draw: Chamar o Script Draw_Event
Código:
/*
========================================================================
    # RPG Maker 2000 Draw Event Charset #
      - Script by Dr.XGB -
   
    This script draws the event's charset, according to
    its graphic file, similar like the Rm2k does.
========================================================================
*/

// Draw Event GFX Like RPG Maker 2000
draw_sprite_part(
                char_sprite,
                0,
                (charframe mod 4)*(3*24)+(frame_simple*24),
                (charframe div 4)*(4*32)+(dir_look*32),
                24,
                32,
                x-4,
                y-16
                );

Podemos notar que é quase o mesmo raciocínio que eu utilizo no RPG Maker 2000, com ajuda do Destiny, a diferença é que aqui no GM eu crio as minhas próprias variáveis e minhas próprias funções.
Não se esqueça de carregar as constantes salvas pelo Bloco de Notas na pasta da própria Demo (Ctrl+Shift+N)!

Para mais detalhes, baixe a Demonstração, onde estarão disponíveis os outros scripts que vão servir para um funcionamento melhor do sistema.​

[box class=catbg3]Clique aqui para Baixar a Demo (70Kb)[/box]
 
Crixus comentou:
Ual! Será que consigo reproduzir isso em CANVAS (Javascript)?

Nota 10 mesmo.
[member=136]Crixus[/member] : Provavelmente consegue. Talvez não com essa lógica do GML, mas consegue sim e, se pá, até mais otimizado.
 
Voltar
Topo Inferior