Newsgroup: it.comp.lang.visual-basic
Titolo: Come fare 3?

Ho bisogno di sapere quando una linea tocca una Picture, so quando due
Picture si toccano perche mi hanno scritto il codice su questo NewsGroup, ma
ho dovuto
rifare tutta una parte con le linee e adesso non so come dirgli al programma
che:
Line tocca o passa su Picture.
Grazie

       Picture1.Top <= Picture2.Top + Picture2.Height
Adattandolo un po' ce la puoi fare, anche per la Line...

 Adattandolo un po' ce la puoi fare, anche per la Line...
Ma se sono gia stato fortunato a farle le linee, va be magari provando e
riprovando quella giusta la imbrocco, ma ti ricordo che sono un neofita
e quelle linee che faccio partire dalle Picture, non riesco a cancellarle,
perche
avrei bisogno oltre tutto usando il Command successivo di cancellarle.

 ha scritto nel messaggio news:zdNH9.33536
E dopo 3 (tre!) post ancora nessuno ti ha detto di usare dei subject normali
e sensati?
Beh, te lo dico io :)
E ti consiglio anche una lettura al manifesto di questo NG (lo trovi _anche_
sul suo sito comune).
Ciao
--
using System.Gtk.Forms = "
http://www.neodatatype.net/windowsforms/sgf.aspx
"
mathParser = "
http://www.neodatatype.net
"
sitoComune = "
http://www.it-lang-vb.net
"

 ha scritto nel messaggio
news:asppdl$fkn$1...@monty.lombardiacom.it...

Scusami mi dispiace di averti offeso e aver offeso anche qualcunaltro,
non uso mai i newsgroup e non so quundi i comportamenti ma se tu dici che
sono un gran maleducato, penso che tu lo dica perche hai dei buoni motivi
quindi mi
documentero a proposito.
Sinceramente sono sconcertato e spiazzato e non so se ringraziarti o
mandarti
in ferie, dal canto mio dopo 20 giorni di implementatione da 0, mi sono
trovato
un po disperato e non volevo e non voglio buttare via questo progetto, che
forse e troppo ambizioso e piu grosso di me ed ho chiesto AAIIUUTOO.
Ti ringrazio per gli indirizzi li visito subito a discapito del resto che mi
sta sfuggendo
dalle mani poco a poco.

 Adattandolo un po' ce la puoi fare, anche per la Line...
Purtroppo non è così semplice. Cercando di adattare l'algoritmo della
sovrapposizione dei rettangoli temo che non se ne esca.
Il rettangolo delimita una parte di schermo, mentre la linea no. Inoltre il
rettangolo non ha un verso, mentre la linea si.
Inoltre la chiamiamo linea impropriamente, essendo in realtà un segmento.
Anche questo aggiunge difficoltà alla faccenda, perché non si può passare
attraverso la risoluzione dell'equazione della retta.
In pratica, la faccenda è semplice nei casi particolari: se il tuo segmento
è il proiettile di uno shoot-em-up a scorrimento orizzontale (o verticale),
ti puoi permettere di testare la posizione di un solo pixel del segmento (e
qui puoi adattare l'algoritmo dei rettangoli sovrapposti). In caso contrario
tocca di testare tutti i punti che compongono il segmento.
L'unico escamotage che mi viene in mente, è simulare la linea con una region
(con la CreatePolygonRegion), creando un poligono largo 1 e che segua "la
forma" del segmento. In questo modo, creando anche una region per il
rettangolo, è possibile usare la CombineRgn prima, e la SelectClpRgn dopo;
se quest'ultima ritorna NULLREGION, significa che non esiste intersezione
tra i due poligoni (ovvero la linea è il rettangolo non si intersecano).
Per lo spostamento delle Region non ci sarebbe comunque da preoccuparsi,
perché si può usare l'API OffsetRgn, ma bisogna vedere se tutto 'sto
ambaradan è più veloce del test di ciascun punto contenuto nel segmento (e
questo immagino dipenda principalmente dalla lunghezza del segmento stesso).
Temo comunque che questo discorso vada un po' in là rispetto alle attuali
capacità di Andrea. Io gli consiglio di testare i punti singolarmente,
adattando il suddetto test in questo modo:
un punto (X,Y) è contenuto in una PictureBox quando:
   X  >= Picture1.Left And _
   Y >= Picture1.Top And _
   X <= Picture1.Left + Picture1.Width And _
   Y<= Picture1.Top + Picture1.Height
Ciao
*Roby*