18-04-2019, 03:56 PM
Z80a escreveu: (18-04-2019, 03:25 PM)Sim.
No nes é bem chato porque você não pode acessar a memoria de video fora do vblank.
O nes recicla os registradores de acesso a memoria E os de scroll para controlar o processo de desenhar os tiles.
Mas ele ainda mantém o scroll de certa forma representado nos registradores ai dá pra fucetar, mas mexer na memoria de video é em boa parte um não (eu já vi demos que conseguem alterar a paleta, mas deve ser um truque "daqueles").
Agora trocar os tiles no meio da tela é possível (e feito com alguma frequência) se você estiver usando um cartucho com mapper.
O NES é projetado pra ler os tiles de 8x8 pixels de uma rom no cartucho, tipo em cada cartucho tem uma rom de programa (maximo de 32KB) e uma rom de tiles (Maximo de 8KB) e elas são lidas separadamente pelo hardware.
Porem com um Mapper, você pode pegar uma rom maior e fingir que é uma rom de 32KB ou 8KB e quando a CPU tenta gravar na ROM, o mapper "troca a pagina", então se você "troca a pagina" da rom de tiles no meio da tela, muda TODOS os tiles :3
Double dragon 3 por exemplo faz isso pras caixas de texto dele.
Ah, sim, sim.
Trocar o tile, OK. A questão era mais trocar a cor no meio do tile (uns pixels pra baixo do começo dele) e junto a cor de todas as tiles pra baixo dessa linha.
Tipo no caso de vc querer que a parte de baixo da tela tenha água, mas tb que o nível dela suba e desça de um frame pra outro, numa animação suave. Ou seja, sem pular 8px (ou até 16, que seria o mais normal por conta do limite básico de quadrados de 16x16 por paleta) por vez.
Talvez só usando uns truques de usar tiles "animadas" (que no fundo é trocar uma tile por outra mesmo. :þ) e paletas que compartilhem várias cores pra daí fazer umas transições mais suaves.