Commodore 64 > Aiuto & Domande

spostare un sprite in basic con il comando getA$

<< < (3/3)

0scur0:

--- Citazione da: input - 08 Marzo 2021, 23:38:50 ---per chi non ha le idee molto chiare  non si rende conto

--- Termina citazione ---
Il punto è proprio "rendersi conto" di come funzionano i registri del calcolatore e di come questi interagiscono tra di loro; arrivati a quel punto, si può pensare a come utilizzarli per far fare alla macchina ciò che si vuole.

--- Citazione da: input - 08 Marzo 2021, 23:38:50 ---Per  quando riguarda i due 53264    per quello che ho capito il primo (70 pokev+16,0)  abilita     lo spostamento dello sprite  in senso orizzontale da 256 a 320,
invece il  secondo (85 pokev+16,1)  so che  fa in modo che il disegno puo iniziare di nuovo a spostarsi  dal margine sinistro dello schermo .
 ora non so se queste informazioni li ho capito male , ho li ho impostati male.

--- Termina citazione ---
Non so da dove hai preso queste informazioni ma evidentemente non hai compreso come funziona quel registro; ma a parte questo, la tua risposta alla mia seconda domanda mi fa capire che devi innanzitutto acquisire la giusta mentalità.
Come fare? Non per niente, questo sito è pieno zeppo di riviste e manuali. Il mio consiglio è: se vuoi imparare davvero, usali  :)

input:
- puo anche essere che non ho capito come funziona. la fonte è il manuale per l utente  pag.76
- lo so che questo sito è pieno zeppo molte cose utili,  ho imparate molto da questo sito,
 ma quello che al momento mi serve non c'e
- se ero bravo come voi non avrei chiesto aiuto, perche avrei capito da solo
- solo richiami è osservazioni che sto sbagliando, ma nessun aiuto su come si risolve il problema
- se in questo sito chiedere aiuto e come essere sottoposto ad un processo preferisco non chiedere piu nulla
grazie lo stesso , buona giornata.

eregil:
Non ti offendere, ma il fatto è che a guardare il tuo codice si capisce che stai proprio sbagliando la logica di ciò che deve essere fatto, e non (soltanto) il modo di farlo. Se ogni minimo problema è occasione di una nuova domanda, "aiutarti a farlo" rischia di tradursi in "farlo al posto tuo". Se si arriva a questo punto, decisamente non va bene, è una mancanza di rispetto del tempo di chi ti aiuta, e il motivo per cui le risposte ti possono sembrare stizzite.

A un certo punto reimposti x a 0, perché? Cosa succede quando provi a spostare nuovamente lo sprite a sinistra dopo averlo fatto? Non è meglio se gestisci la "tua" variabile di dove deve stare lo sprite separatamente rispetto a come sono impostati i registri del VIC?

Quando vedi un illegal quantity, chiedi il list della riga dell'errore e fai il print delle variabili che possono essere la causa dell'illegal quantity? Magari se lo fai capisci anche da solo il problema.

input:
grazie , ci provero. la mia risposta non era una polemica .

input:
per chi fosse interessato questo è il codice completo,   è funzionante, grazie a eregil e  OscurO

1 rem INIZIALIZZAZIONE
10 V=53248: x=21
11 POKEV+21,1
12 POKE2040,13
20 FOR N=0 TO 62: readQ: POKE832+n,q: NEXT
30 pokev+0,x
40 pokev+1,100

45 rem GESTIONE TASIERA
46 GETA$: IFA$="" THEN 46
47 if a$="s" then x=x-5
49 if a$="d"then x=x+5
51 pokev,x AND 255: pokev+16,ABS(X>255)
53  poke 650,128
55 goto 46

56 rem DATA
200 data 0,127,0,1,255,192,3,255,224,3,231,224
210 data 7,217,240,7,223,240,7,217,240,3,231,224
220 data 3,255,224,3,255,224,2,255,160,1,127,64
230 data 1,62,64,0,15,128,0,156,128,0,73,0,0,73,0
240 data 0,62,0,0,62,0,0,62,0,0,28,0

Navigazione

[0] Indice dei post

[*] Pagina precedente

Vai alla versione completa