O site está em reconstrução - obrigado pela paciência.

Aprendendo RGSS Apêndice 4 - Funções da Classe Sprite e Plane

NinaSet · 12 Mar 2015 - 20:10

Neste apêndice foquei em Sprite#bitmap, opacity, z e na diferença para Plane. Sprite é ótimo para objetos individuais; Plane repete a textura infinitamente, útil para paralax e névoa. Lembre-se: Plane ignora zoom_x/zoom_y da mesma forma que viewport, então combine com tone para efeitos sutis.

Exemplo: para chuva, crie um Plane com bitmap 64x64 de gotas diagonais, defina blend_type = 1 e ox += 3 a cada frame. Isso dá movimento sem pesar.

LucasR · 12 Mar 2015 - 21:00

Uma pegadinha: Sprite#src_rect permite recortar tiles de um spritesheet, mas em Plane não funciona. Para HUD animada, use Sprite e mude o src_rect a cada 8 frames. Se precisar de looping vertical, ajuste oy do viewport em vez do sprite.

Outro detalhe é o dispose: plane também precisa ser liberado, senão memory leak acontece ao trocar de cenas várias vezes. Sempre faça @plane.bitmap.dispose e @plane.dispose.

AlvaroJ · 12 Mar 2015 - 21:45

Adicionei um snippet para crossfade: dois Sprites com a mesma imagem, alterando opacity inversamente. Funciona bem para transições de hud e retratos. Use tone para escurecer e dar efeito de dano.

Quem quiser testar shading, combine color.set(255,0,0,80) em um plano sobreposto ao mapa. Só não esqueça de resetar na troca de cena para evitar tela avermelhada permanente.

Helix · 13 Mar 2015 - 09:30

Pra fechar, vale citar prioridades: sprites em viewport com z=200 ficam sobre charas (z=100). Para overlays, use viewport separado com z=300 e blend_type=1. Plane não respeita z fora do viewport; crie um viewport só pra ele.

No script que anexei, deixei comentários linha a linha. Qualquer dúvida sobre performance, poste aqui que medimos FPS com FRAPS ou o script de benchmark.

Parceiros
Centro RPG Maker Mundo RPG Maker La Communauté RPG Maker Condado Braveheart