Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
2 - Melhorando o mapa!
Aldeia RPG :: RPG Maker :: RPG Maker VX Ace :: Tutoriais
Página 1 de 1
2 - Melhorando o mapa!
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:
E o resultado:
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:
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:
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:
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:
E o resultado final é o seguinte:
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.
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:
E o resultado:
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:
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:
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:
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:
E o resultado final é o seguinte:
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.
_________________
Tópicos semelhantes
» [Script]Melhorando a Window_Help_Skill
» [Tutorial/Pedido] Melhorando Sistema de Correios
» Mini mapa mapa Net Play Master
» 1º Mapa *-*
» Mapa sem nome
» [Tutorial/Pedido] Melhorando Sistema de Correios
» Mini mapa mapa Net Play Master
» 1º Mapa *-*
» Mapa sem nome
Aldeia RPG :: RPG Maker :: RPG Maker VX Ace :: Tutoriais
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos