Problema con la collisione

Sto provando a realizzare un piccolo gioco dove dal alto cadono 3 frutti che spawnano random tra due numeri ineteri .Al di sotto di essi c'è un contadino che deve raccoglierli muovendosi a destra e a sinistra se li raccoglie il punteggio si incrementa di 1 altrimenti se non si raccolgono si perde una vita. il mio problema è che il punteggio aumenta poichè le collisioni avvengono tra frutti stessi, come faccio a impedire ciò, e che quindi la collisione deve avvenire solo con il contadino?

Give points in the farmer's collision event only.

1 Like

si ma come lo imposto con i blocchi?

Export your .aia file and post it here.

Al posto di "altro" dovrei metterci "imageSprite1"(che è il contadino )
come faccio?

Puoi fare in vari modi , uno potrebbe essere invertire la logica . Quindi usi se il contadino sta toccando qualcosa . In questo caso avrai l'evento in Sprite 1 e sarà sempre valido senza dover inserire controlli extra. Per i frutti puoi sfruttare quando tocca il bordo e imposti un controllo se il bordo è quello inferiore .

PS rinomina i componenti per fare capire meglio quando chiedi aiuto :+1:t2:

Se non ti dispiace potresti mastrarlo con i blocchi?

Secondo me ti conviene iniziare ad usare gli any component per gestire facilmente gli sprite

Non sono al PC. Devi usare lo stesso che stai usando adesso ma quello relativo a imagesprite1. Puoi sfruttare other per riposizionare gli sprite usando il blocco del movimento che troverai tra gli any component. Quei blocchi in più ti chiedono il componente su cui agire e dovrai passare other come valore , che nel caso del contadino saranno i frutti . Se non sono previsti altri oggetti

In alternativa potresti inserire qui

un controllo dove valuti if other = imagesprite1 then inserisci all'interno il codice che hai scritto . Il blocco da usare nell'espressione è quello verde singolo che trovi come ultimo nel menu di tutti i blocchi dell'imagesprite1

e nell else?Cosa scrivo?

1 Like

ti ringrazio ho risolto♥

Avrei un altro quesito,invece di muovere il personaggio a destra e a sinistra tramite delle frecce vorrei tener premuto su di esso e trascinarlo io a destra e a sinistra così da essere più veloce nei movimenti

Per quando tocca terrà usa il blocco raggiunge il bordo usando sempre un if edge= bordo.
Hanno dei nomi specifici ti conviene trovarlo direttamente durante la collisione e lo inserisci nel codice , così sei sicuro che è corretto

Se non ricordo male nel Canvas c'è l'evento dragged che ti restituisce le coordinate X Y quando ti muovi con il dito. Puoi usare la sola coordinata X per aggiornare la posizione del contadino . La Y dovrà essere sempre fissa . In questo modo anche se sei lontano dallo Sprite e muovi il dito il tuo contadino raggiungerà la posizione X corretta. All'interno di dragged dovrai usare il blocco di sprite1 per aggiornare le coordinate XY passando i valori che ti dicevo prima

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.