Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Come gestire le collisioni di un oggetto con...
Forum - Visual Basic 6 - Come gestire le collisioni di un oggetto con...

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 20:24
Lunedì, 30/10/2006
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:

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 23:27
Lunedì, 30/10/2006
Nel mio programma "Ark" c'è una soluzione un po' "grezza" del problema, se ti basta quella... dacci un'occhiata.


Il mio blog: https://piero.dev
PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 10:48
Martedì, 31/10/2006
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.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 17:10
Martedì, 31/10/2006
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

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 18:43
Sabato, 04/11/2006
Paperoga non credo sia proprio corretto.
Comunque il principio e' lo stesso.
Grazie avevo gia' risolto.

PM Quote
Avatar
Fr3d3R!K (Ex-Member)
Expert


Messaggi: 589
Iscritto: 17/08/2006

Segnala al moderatore
Postato alle 22:50
Sabato, 04/11/2006
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... ;) )

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 20:08
Domenica, 05/11/2006
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
...

PM Quote
Avatar
Reese (Ex-Member)
Pro


Messaggi: 179
Iscritto: 09/08/2006

Segnala al moderatore
Postato alle 12:09
Lunedì, 06/11/2006
if pic.left >= form1.width then pic.left >= form1.width-1. Cosi' non si "blocca".

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 18:57
Lunedì, 06/11/2006
si ma si impalla in una performance tremolante se tieni premuto a sinistra

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo