Commodore 64 > Aiuto & Domande
collisioni sprite/sprite
input:
sono riuscito a rsolverlo , anche se funziona non sono soddisfatto,
non mi piace la ripetizione dei tasti, non lo trovo elegante
40 POKEV+0,x :REM coordinate x sprite 0
42 POKEV+1,y :REM coordinate Y sprite 0
44 POKEV+4,xx :REM coordinate Y sprite 2
46 POKEV+5,yy :REM coordinate Y sprite 2
53 REM PUNTEGGIO
54 print "{home}",t,b
56 B=peek(v+30): REM lettura del rgistro 53278
57 if B=5 then gosub 200
59 REM CONTROLLO MOVIMENTO
69 geta$: ifa$=" " then 69
71 if a$=chr$(157) then x=x-5 :REM SINISTRA
80 if a$=CHR$(29 ) then x=x+5 : rem DESTA IDEM
86 if a$=chr$(17) then y=y+5 : REM GIU IDEM
95 if a$=CHR$(145) then y=Y-5 :REM SU IDEM
175 goto 40
200 print "collisione{home}"
250 REM POSIZIONI DELLO SPRITE 0 PRIMA DELLA COLLISIONE
260 REM SCRITTURA NUOVE COORDINATE
270 rem x= px
280 if a$=chr$(157) then x=x+5
285 if a$=chr$(29) then x=x-5
286 if a$=chr$(17) then y=y-5
287 if a$=chr$(145) then y=y+5
297 t=t+1
300 return
input:
chiedevo un vostro consiglio sul risultato, e comunque voglio ringraziarvi di aver perso del vostro tempo per me
0scur0:
--- Citazione ---chiedevo un vostro consiglio sul risultato
--- Termina citazione ---
Direi che è una soluzione piuttosto spartana e poco precisa; in effetti, può capitare che lo sprite mobile penetri nello sprite fisso e ne resti intrappolato, anche se per un semplice giochino in BASIC può andare.
input:
lo so che è molta spartana , per questo volevo una vostra opinione.
ho provato e riprovato, ma non resta intrappolato, l unico piccolo difetto è che in due direzioni lo sprite quando collide con un altro sprite , penetra di 5 pixel l altro ( che sarebbero i pixel di incremento o decremento ) se riduco l incremento riduco la velocita ma riduco anche la penetrazione . ( per poi ritornare alla posizione iniziale prima della collisione, mentre con i caratteri la collisione e perfetta .
se vuoi darmi una soluzuione piu elegante e meno spartana te ne sarai molto grato. anche perche non mi servirebbe per copiarla, ma solo per studiarla e capire meglio la loro funzionalita . comunque provero ancora domani, se riesco bene, altrimenti dovro rassegnarmi. ciao e grazie di tutto buonaserata
0scur0:
--- Citazione da: input - 12 Maggio 2021, 19:36:34 ---lo so che è molta spartana , per questo volevo una vostra opinione.
ho provato e riprovato, ma non resta intrappolato
--- Termina citazione ---
Mah, io ho copiato il tuo codice pari-pari su VICE dando agli sprites delle coordinate di partenza casuali ed è capitato 3/4 volte che lo sprite mobile si incagliasse nell'altro, avrò preso lo spigolo del vetro.
--- Citazione ---se vuoi darmi una soluzuione piu elegante e meno spartana te ne sarai molto grato
--- Termina citazione ---
Nei post sopra mi sembra di averti dato dei suggerimenti, anche piuttosto precisi: se vuoi fare meglio di così, pensaci sopra.
--- Citazione ---provero ancora domani, se riesco bene, altrimenti dovro rassegnarmi
--- Termina citazione ---
Spirito sbagliato, se mi consenti. Nella scienza e nella tecnica non si raggiunge mai la perfezione e non ha senso "rassegnarsi". Se qualcosa piace davvero si va avanti con l'ardore di migliorare costantemente le proprie conoscenze e capacità, altrimenti si lascia perdere subito e si fa altro.
Saluti
Navigazione
[0] Indice dei post
Vai alla versione completa