Título: Movimiento con colores Publicado por: Tragamanzanas en 13 de Septiembre de 2009, 05:36:33 pm Estoy intentando crear sensación de movimiento cambiando el color de los caracteres. Me explico, por ejemplo tengo la letra A en la izquierda de la pantalla y quiero que se mueva hasta la derecha, pero lo quiero conseguir de la siguiente manera:las letras B y C las redefino para que sean una A y luego lleno toda la fila de letras A (ABCABCABCABC) y el movimiento lo intento conseguir iluminando la A, luego apagandola y mostrando la B y lo mismo con la C, para volver a la A.
En teoría quiero que sea como las luces de navidad que encendiendose y apagandose crean la sensación de movimiento, pero con el ejemplo anterior solo consigo ese efecto hasta C, luego se nota que vuelve a A (·$&*@) Se que es rebuscado y hay maneras mas fáciles de conseguirlo, pero para lo que estoy pensando utilizar este movimiento me interesa que sea de esta forma (ademas de cabezoneria mia). ¿Alguna idea para conseguirlo utilizando el mínimo numero de colores? Título: Re: Movimiento con colores Publicado por: Dioniso en 13 de Septiembre de 2009, 06:14:51 pm Prueba con un espacio mayor de apagado entre letras "A". ¿Qué tal sería ABCDE y el E vuelves a poner una A encendida de modo que quede algo como A...A...A...A? (Los puntos serían BCD "apagados".)
Título: Re: Movimiento con colores Publicado por: Tragamanzanas en 14 de Septiembre de 2009, 12:48:12 pm Parece que la solución no pasa por alargar la serie, ya que crea sensación de movimiento durante un poco mas de rato, pero al volver a empezar la serie se "nota".
Título: Re: Movimiento con colores Publicado por: Dioniso en 14 de Septiembre de 2009, 01:39:57 pm pues entonces me da a mí que va a ser algo en el código...
Título: Re: Movimiento con colores Publicado por: OKI09 en 14 de Septiembre de 2009, 03:42:52 pm Prueba este ejemplo. ;)
Esta hecho a toda prisa pero funciona como creo que quieres. Código: .BIOS .PAGE 1 .ROM CHRTBL EQU $0000 NAMTBL EQU $1800 CLRTBL EQU $2000 CLIKSW EQU $F3DB FORCLR EQU $F3E9 DI IM 0 LD SP,$F380 INICIO: LD HL,FORCLR LD [HL],$0F INC HL LD [HL],$01 INC HL LD [HL],$01 XOR A LD [CLIKSW],A CALL INIGRP CALL ERAFNK LD BC,$E201 CALL WRTVDP LD A,3 LD [MOVIMIENTO],A LD HL,PATRONES ; Redefinicion de caracteres LD DE,CHRTBL+65*8 ; Patrones a redefinir LD BC,$24 CALL LDIRVM LD HL,CADENA_TXT ; Ponemos el texto en pantalla LD DE,NAMTBL+5*32 LD BC,32 CALL LDIRVM LD HL,COLOR ; Vamos cambiando el color de los PUSH HL ; caracteres BUCLE_1: POP HL LD A,[MOVIMIENTO] DEC A JR NZ,SEGUIR LD HL,COLOR LD A,3 SEGUIR: LD [MOVIMIENTO],A LD DE,8 ADD HL,DE PUSH HL LD DE,CLRTBL+65*8 LD BC,24 CALL LDIRVM CALL RETARDO JR BUCLE_1 RETARDO: LD B,9 ; Bucle de retardo (9 veces) MAS_RETARDO: HALT DJNZ MAS_RETARDO RET PATRONES: DB $00,$3C,$7E,$7E,$7E,$7E,$3C,$00 ; A DB $00,$3C,$7E,$7E,$7E,$7E,$3C,$00 ; B DB $00,$3C,$7E,$7E,$7E,$7E,$3C,$00 ; C CADENA_TXT: DB "ABCABCABCABCABCABCABCABCABCABCAB" COLOR: DB $80,$80,$80,$80,$80,$80,$80,$80 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $80,$80,$80,$80,$80,$80,$80,$80 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 .PAGE 3 MOVIMIENTO: DS 1 Seguro que se puede mejorar, pero las prisas.... :D Título: Re: Movimiento con colores Publicado por: Dioniso en 14 de Septiembre de 2009, 05:46:52 pm ??? Acabo de compilar el código y parece todo correcto... El movimiento es de derecha a izquierda (y no al revés) pero creía que ése era el efecto que querías conseguir, ¿no? El salto es lógico de caracter a caracter pero, a parte de eso, no noto nada más raro...
Título: Re: Movimiento con colores Publicado por: Jon_Cortazar en 15 de Septiembre de 2009, 04:46:20 am Tragamanzanas, que lo que te pasa es que, al mirarlo atentamente, el efecto óptico te hace ver que "vuelve al loop", pero estar, está correcto (creo yo) ;)
Título: Re: Movimiento con colores Publicado por: OKI09 en 15 de Septiembre de 2009, 10:56:26 am Bueno, si lo que quieres es un movimiento de izquierda a derecha, pues cambia los datos de la linea "CADENA_TXT" al reves, o sea:
CADENA_TXT: db "CBACBACBACBA......" y ya esta. ;D Título: Re: Movimiento con colores Publicado por: Dioniso en 15 de Septiembre de 2009, 12:02:07 pm Bueno, si lo que quieres es un movimiento de izquierda a derecha, pues cambia los datos de la linea "CADENA_TXT" al reves, o sea: CADENA_TXT: db "CBACBACBACBA......" y ya esta. ;D Claro :) Lo digo porque fue lo que escribiste en tu primer post. Título: Re: Movimiento con colores Publicado por: SapphiRe_MSX en 15 de Septiembre de 2009, 12:55:42 pm A veeer, que parece que estamos confundiendo a Tragamanzanas con OKI09... Tragamanzanas fue el autor original y OKI09 el que ha puesto la solución :griel: :griel:
Título: Re: Movimiento con colores Publicado por: Dioniso en 15 de Septiembre de 2009, 02:09:05 pm A veeer, que parece que estamos confundiendo a Tragamanzanas con OKI09... Tragamanzanas fue el autor original y OKI09 el que ha puesto la solución :griel: :griel: Ains!!! :-[ Perdón. Título: Re: Movimiento con colores Publicado por: Tragamanzanas en 15 de Septiembre de 2009, 07:58:46 pm No lo entiendo, imagino que visualmente con circulos la sensación de movimiento es continuo...
OKI09, lo que no me queda muy claro en tu ejemplo es: COLOR: DB $80,$80,$80,$80,$80,$80,$80,$80 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $80,$80,$80,$80,$80,$80,$80,$80 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 ¿Todo esto para cambiar 2 colores? Título: Re: Movimiento con colores Publicado por: OKI09 en 15 de Septiembre de 2009, 11:01:06 pm Ainsss!! es verdad.
Pero es que la rutina la diseñe en un principio con tres colores uno para cada caracter. (A B y C) Me explico, si en la siguiente linea de datos despues de los "$80" pones por ejemplo "$F0" y en los siguientes pones "$A0", estarias haciendo el mismo efecto pero con distintos colores, como si de un arbol de navidad se tratase. ;D Si es que como ya he dicho, las prisas no son buenas para nada. ;D En principio era lo que querias, lo que pasa que lo modifique porque creia que lo verias mas claro con un solo color. Título: Re: Movimiento con colores Publicado por: Tragamanzanas en 16 de Septiembre de 2009, 01:03:49 pm Gracias OKI09, ya está claro.
Lo que quiero intentar con esto, es hacerlo a gran escala, es decir, rellenar media pantalla con 2 ó 3 caracteres redefinidos y con solo ir cambiando en la tabla de colores el color de esos caracteres conseguir el efecto de las olas del mar ::) |