Autore Topic: Sprites Per Un Gioco  (Letto 1110 volte)

Wolf

  • Neo-iscritto
  • *
  • Post: 12
Sprites Per Un Gioco
« il: 08 Luglio 2007, 15:55:01 »
 Che ne dite? Sono migliori della conversione originale?



P.S. Ma come li porto poi su C64?

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Sprites Per Un Gioco
« Risposta #1 il: 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.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -