Ready64 Forum

Commodore 64 => Commodore 64 & Ready64 => Topic aperto da: Wolf - 08 Luglio 2007, 15:55:01

Titolo: Sprites Per Un Gioco
Inserito da: Wolf - 08 Luglio 2007, 15:55:01
 Che ne dite? Sono migliori della conversione originale?

(http://img337.imageshack.us/img337/6153/immagineex3.gif)

P.S. Ma come li porto poi su C64?
Titolo: Sprites Per Un Gioco
Inserito da: iAN CooG - 08 Luglio 2007, 21:23:22
 Hai usato 2 sprites per personaggio, gia' che c'eri potevi anche farli piu' alti usando tutti i 21x2 pixels a disposizione :)
Ad ogni modo, pur non essendo l'area di programmazione che evidentemente non hai mai letto, ti metto un esempio su come visualizzare uno sprite.
Da spritepad salva i tuoi sprites come sprites.spr, poi assembla con DASM questo codice nella stessa directory in cui hai salvato il file .spr

Codice: [Seleziona]

;-----------------------------------------------------------------------------
;linea basic
;-----------------------------------------------------------------------------

    *=$0801
    word eop          
    word 7102
    byte $9e,"2061",0 ;7102 SYS2061
eop word 0

;-----------------------------------------------------------------------------
;codice
;-----------------------------------------------------------------------------

    lda #%00000001   ; solo il primo sprite
    sta $d015        ; registro VIC per attivazione sprites
    sta $d01c        ; registro VIC per attivazione multicolor
    lda #[sprites/$40]; puntatore all'area di memoria del primo sprite
    sta $07f8        ; puntatore per lo sprite 1 ($07f8-$07ff uno per sprite)
    ldx #$30         ; coordinate , uso i registri X/Y per chiarezza, ma non
    ldy #$50         ;  e' necessario, lda/sta andrebbero ugualmente bene :)
    stx $d000        ; registro VIC coordinata x sprite 1
    sty $d001        ; registro VIC coordinata y sprite 2
    lda #$0a         ; colore rosa
    sta $d025        ; Sprite Multi-Color 0
    lda #$02         ; colore rosso
    sta $d026        ; Sprite Multi-Color 1
    lda #$01         ; colore bianco
    sta $d027        ; Sprite 0 Color

    rts
;-----------------------------------------------------------------------------
;dati
;-----------------------------------------------------------------------------
    *=$0900          ; gli sprites devono stare in memoria ad indirizzi
                     ; multipli di 64 ($40 in hex)
                     ; $0900 e $940 va bene, $8f0 o $910 no
                     ; in piu' non possono stare da $1000-$1fff e $9000-$9fff
sprites
    incbin sprites.spr
;-eof-------------------------------------------------------------------------

Il resto lo lascio a te, scarica e usa come reference i vari dox indicati in pillole di programmazione.