2 - Melhorando o mapa! Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

2 - Melhorando o mapa!

Ir para baixo

2 - Melhorando o mapa! Empty 2 - Melhorando o mapa!

Mensagem por Paulo Soreto Sex Nov 24, 2017 5:34 pm

Para os gráficos do jogo estou utilizando os desse link:
Colony sim assets

Aquele mapa inteiramente verde é bem ruim então vamos utilizar alguns gráficos da net pra melhorar o projeto. Abra o script Map, nele precisamos editar o método draw_ground. Até então nós criamos uma sprite e desenhamos um belíssimo quadrado verde preenchendo toda a tela. Agora nós precisamos "cortar" uma determinada área do tileset que baixamos e desenhá-lo na tela.

Mas espera um pouco, nós apagamos o módulo Cache do RPG Maker e agora como que vamos carregar as imagens? A classe Bitmap recebe como argumento na inicialização o caminho para o arquivo que desenha carregar ao invés da largura e altura do bitmap. Eu coloquei os gráficos dentro da pasta Tilesets dentro da pasta Graphics. Nós precisamos substituir a criação do bitmap vazio pelo carregamento da imagem e precisamos também apagar o conteúdo do método draw_ground.

O código fica da seguinte forma:
2 - Melhorando o mapa! OhGgg3F
E o resultado:
2 - Melhorando o mapa! 1ZuKzpU
Mas não é isso que queremos, precisamos desenhar apenas uma parte do tileset e não ele completo. Para isso precisamos usar o método strech_blt, se formos na ajuda do RPG Maker lá tem isso:
2 - Melhorando o mapa! DCmPgun
Ou seja, esse método recebe respectivamente como argumentos:
dest_rect: Local dentro da sprite onde a imagem "cortada" será desenhada.
src_bitmap: A imagem que queremos desenhar.
src_rect: Local dentro da IMAGEM que queremos cortar.
opacity: Opacidade da imagem ao desenharmos.

Lembrando que rect vem rectangle e as propriedades que ele possui, segundo a ajuda do RM são: x, y, largura e altura.
Eu não vou ficar parando pra detalhar cada classe por que toma muito tempo, essas coisas vocês mesmos podem pesquisar.

Precisamos agora fazer uma pequena mudança no código anterior, a linha onde tem @ground.bitmap atualmente carrega a imagem do tileset, vamos carregar essa imagem em outra variável e o @ground.bitmap volta a ter o valor que tinha na aula passada, ok? O código fica assim:
2 - Melhorando o mapa! Q43XTYp

Agora que já sabemos tudo que precisamos pra cortar e desenhar uma parte da imagem no jogo nós podemos ir para o código, que fica da seguinte forma:
2 - Melhorando o mapa! BgANF3v
Só que... só desenhou um tile :/
Pra preenchermos o mapa com tiles precisamos usar um laço de repetição (o que for melhor pra você). Nesse caso eu optei por usar o for. Lembrando que precisamos mudar o valor do dest_rect para cada tile que formos desenhar para que tudo saia como planejado. O código ficou da seguinte maneira:
2 - Melhorando o mapa! WFblgft
E o resultado final é o seguinte:
2 - Melhorando o mapa! BFmABw4
O código final é: https://pastebin.com/9DtNXD6F
Nota: Eu usei o valor 16 pois é a largura de cada tile e isso varia de acordo com o tileset.

_________________
2 - Melhorando o mapa! FwYnoXI
Paulo Soreto
Paulo Soreto
Lenda
Lenda

Mensagens : 1980
Créditos : 367

Ficha do personagem
Nível: 1
Experiência:
2 - Melhorando o mapa! Left_bar_bleue0/02 - Melhorando o mapa! Empty_bar_bleue  (0/0)
Vida:
2 - Melhorando o mapa! Left_bar_bleue30/302 - Melhorando o mapa! Empty_bar_bleue  (30/30)

https://www.aldeiarpg.com/

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