Commodore 64 > Aiuto & Domande

collisioni sprite/sprite

<< < (4/5) > >>

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

[#] Pagina successiva

[*] Pagina precedente

Vai alla versione completa