Oppure

Loading
30/10/06 19:24
Shutdown
Ciao amici...

Ho iniziato oggi con il vb, così tanto per provare... Sembre interessante... :rotfl:

Sapete come posso gestire la collisione di un ogetto (image) con i bordi del form in cui risiede?

In pratica al verificarsi dell'evento KeyDown del Main Form verifico se il tasto premuto è vbKeyLeft o vbKeyRight... nel primo caso sposto l'immagine verso sinistra, nel secondo verso destra... il problema è che dovrebbe fermarsi entro la fine del form... :-|

Spero di essere stato chiaro.
Grazie per aver letto il posto. :k:
aaa
30/10/06 22:27
pierotofy
Nel mio programma "Ark" c'è una soluzione un po' "grezza" del problema, se ti basta quella... dacci un'occhiata.
Il mio blog: piero.dev
31/10/06 9:48
Shutdown
Piero ho visto il tuo programma, anche io ero arrivato a quella soluzione... Però effettivamente mi sembra grezza... Dato che sono novellino di questo linguaggio, la mia domanda è: Non esiste qualche modo per determinare i bordi del form?
Ve ne do una: MainForm.Border.Left... Sicuramente quello che ho scritto io non esiste, qualcuno sa come fare?

Ps: Piero la soluzione di assegnare dei valori fissi è funzionante però se il form viene ridimensionato dall'utente viene compromesso il funzionamento dell'applicazione. (Qui considero il caso in cui volessi assegnare dei bordi ridimensionabili).

Grazie dell'attenzione.
aaa
31/10/06 16:10
ciao shut.
puoi gestire i left e top
If not picture.Left <= 0 Or picture.Left >= Form1.Width - picture.Width Then

If not picture.Top <= 0 Or picture.Top >= Form1.Height - picture.Heigth Then

end if
end if
04/11/06 17:43
Shutdown
Paperoga non credo sia proprio corretto.
Comunque il principio e' lo stesso.
Grazie avevo gia' risolto.
aaa
04/11/06 21:50
Fr3d3R!K
allora perchè non ci fai vedere come? così se dovesse servire a qualcun'altro qui c'è visto che cmq c'è stata gente che ha provato ad aiutarti (per ricambiare la cortesia... ;) )
aaa
05/11/06 19:08
ok l'errore consiste che se sborda a sinistra o a destra o su o giu la figura non si può più muovere.
bisogna mettere un controllo su ogni direzione.
se sborda a sinistra-->non può piu andare a sinistra
se sborda in basso--> non può più andare in basso
...
06/11/06 11:09
Reese
if pic.left >= form1.width then pic.left >= form1.width-1. Cosi' non si "blocca".
aaa