Exploramos cómo crear funciones que gestionen nuestras entidades dinámicamente, como predicados, permitiéndonos realizar una misma llamada para todas nuestras entidades.
Contenidos detallados:
- Creando una función que dibuje todas las entidades
- Recorriendo el vector hasta el valor que nos indica la cantidad de entidades que están en uso
- Utilizando un puntero y el tamaño de las entidades para recorrer el vector y acceder a todas las entidades una por una
- Potencial problema: pérdida de valores en los registros al hacer call a funciones que los modifican
- Potencial problema al usar registros alternativos para salvar valores: las funciones a las que llamamos también podrían modificar los registros alternativos
- Analizando drawAll y descubriendo que sólo cambian 2 bytes si queremos hacer clear o update para todas las entidades
- Creando una version Entity doForAll que llame a cualquier funcion para todas las entidades
- Posibilidad de uso de jp (hl) y necesidades
- Version alternativa usando código automodificable para los 2 bytes del call
- Usando Entity doForAll para que todas las entidades se borren, actualicen y dibujen en sólo 3 líneas
- Añadiendo nuevas entidades con la pulsación de una tecla, usando Entity new y Entity copy
- Ejercicio para casa: borrar entidades al pulsar una tecla
- Analizando soluciones posibles para el borrado de una entidad que no es la última según la conservación del órden: desplazamiento de entidades del vector hacia atrás o copia únicamente de la última entidad sobre la borrada
Enlaces:
- 1ª parte de la sesión: https://youtu.be/vxCAlXQKWZQ
- 2ª parte de la sesión: https://youtu.be/LJ9HUsym13U
- 3ª parte de la sesión: https://youtu.be/dmDDjTCqUdo
- CPCtelera: http://lronaldo.github.io/cpctelera/
- Clases 2017: https://www.youtube.com/playlist?list...
- Curso de Código Máquina y ensamblador: http://www.cpcwiki.eu/index.php/DEZ80
Contenidos detallados:
- Creando una función que dibuje todas las entidades
- Recorriendo el vector hasta el valor que nos indica la cantidad de entidades que están en uso
- Utilizando un puntero y el tamaño de las entidades para recorrer el vector y acceder a todas las entidades una por una
- Potencial problema: pérdida de valores en los registros al hacer call a funciones que los modifican
- Potencial problema al usar registros alternativos para salvar valores: las funciones a las que llamamos también podrían modificar los registros alternativos
- Analizando drawAll y descubriendo que sólo cambian 2 bytes si queremos hacer clear o update para todas las entidades
- Creando una version Entity doForAll que llame a cualquier funcion para todas las entidades
- Posibilidad de uso de jp (hl) y necesidades
- Version alternativa usando código automodificable para los 2 bytes del call
- Usando Entity doForAll para que todas las entidades se borren, actualicen y dibujen en sólo 3 líneas
- Añadiendo nuevas entidades con la pulsación de una tecla, usando Entity new y Entity copy
- Ejercicio para casa: borrar entidades al pulsar una tecla
- Analizando soluciones posibles para el borrado de una entidad que no es la última según la conservación del órden: desplazamiento de entidades del vector hacia atrás o copia únicamente de la última entidad sobre la borrada
Enlaces:
- 1ª parte de la sesión: https://youtu.be/vxCAlXQKWZQ
- 2ª parte de la sesión: https://youtu.be/LJ9HUsym13U
- 3ª parte de la sesión: https://youtu.be/dmDDjTCqUdo
- CPCtelera: http://lronaldo.github.io/cpctelera/
- Clases 2017: https://www.youtube.com/playlist?list...
- Curso de Código Máquina y ensamblador: http://www.cpcwiki.eu/index.php/DEZ80
Gestión dinámica de entidades con punteros a función [GameDev asm Z80][3.4][2018] 6502 instruction set | |
18 Likes | 18 Dislikes |
413 views views | 2.28K followers |
Science & Technology Creative Commons Attribution licence (reuse allowed) | Upload TimePublished on 27 Sep 2018 |
Không có nhận xét nào:
Đăng nhận xét