Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Salve a tutti e auguri! Volevo chiedervi se esiste un evento in VB che possa individuare un immagine quando si mette sopra questa immagine. In sostanza vorrei creare un ostacolo per questa pallina arancione, che può muoversi, ma che non deve farlo quando ha davanti un ostacolo. Qualcuno può aiutarmi??
Non puoi mettere tutto in una picturebox perchè non esiste niente che riconosca sagome o forme in un immagine, dovresti farlo tutto da solo ma ci sono modi più semplici.
Usi il form come sfondo e metti una picturebox piccola che contiene solo la pallina rossa e poi metti un oggetto o altre picture box per ogni linea viola (nel tuo caso 4).
Supponimao che la picturebox contenete la pallina si chiami "pallina".
Supponiamo anche che la prima linea verticale (quella con cui nel tuo disegno si scontra) si chiami "ln".
Allora per verificare se pallina tocca ln dovresti controllare le coordinate dei 2 oggetti.
DEVI CONOSCERE LE SEGUENTI PROPRIETA':
top=punto in alto al centro
left=punto in basso a sinistra
height=altezza
width=larghezza
Queste proprietà sono applicabili sia a pallina che a ln
Quindi per vedere se il punto della pallina di destra tocca il punto della ln di sinistra devi fare come segue:
PUNTO DI DX=pallina.left+pallina.width
Quindi
SE pallina.left + pallia.width >= ln.left ALLORA l'evento si verifica.
Naturalmente dovresti controllare anche se pallina supera in altezza ln.
Poi non so come vuoi fare il programma....
Spero di esserti stato utile anche se non è facile riassumere un argomento simile in poche righe
Ultima modifica effettuata da il 30/12/2010 alle 23:05
()
Newbie
Messaggi: Iscritto:
1
Postato alle 16:40
Venerdì, 31/12/2010
Dovresti spiegarmi meglio cosa deve fare quella pallina
Comunque dovresti controllare ad ogni moviento che fa la pallina se va a contatto con gli ostacoli.
Ad esempio per verificare se la pallina tocca un ostacolo:
QUESTO CONTROLLO VALE PER QUALSIASI OSTACOLO
ln=ostacolo
pallina=pallina rossa
SE (pallina.left+pallina.width>=ln.left AND pallina.left+pallina.width<=ln.left+ln.width) OR (pallina.top<=ln.top + ln.height AND pallina.top - pallina.height>=ln.top) ALLORA la pallina tocca l'ostacolo
L'ho scritto velocemente quindi potrei aver fatto un paio di errori ma dovrebbe ssere giusto
La cosa che incasina di più è che nel form la coordinata Y=0 invece di essere il punto più basso è il punto più alto
Grazie andrea, avevo pensato anche io ad un algoritmo del genere, solo che non riesco a gestire quando la pallina supera il primo ostacolo, e se x esempio resta in altezza sopra l'ostacolo e scendere quando non è più sopra. sai aiutarmi?
Quando devi controllare la posizione della pallina lo fai sia in senso orizzontale che verticale, quindi una volta utilizzando le proprietà width, location.Y, left, e right dei controlli, l'altra usando height, location.X, top e bottom.