Du bist nicht angemeldet.

tobikubi

Registrierter Benutzer

  • »tobikubi« ist männlich
  • »tobikubi« ist der Autor dieses Themas

Beiträge: 1 374

Dabei seit: 20. Oktober 2007

Wohnort: Bottrop

  • Private Nachricht senden

1

Montag, 22. Oktober 2007, 15:57

Kollision 2er pictureBoxes feststellen

Wie kann man festellen, ob 2 Picture Boxen kollidieren, dass heisst sich gegenseitig treffen?

als beispiel sollten PictureBox1 und PictureBox2 genommen werden
wer Rechtschreibfehler findet, darf sie behalten,
my.working.area = "amd phenom 4x 3 Ghz, 8GB Ram, Gigabyte MA770-UD3, MSI n9800GT-MD1G

Eigenschaftseditor für Objekte
Fortschritt: 30%

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobikubi« (22. Oktober 2007, 16:20)


Nikolai

Registrierter Benutzer

  • »Nikolai« ist männlich

Beiträge: 520

Dabei seit: 23. Mai 2007

  • Private Nachricht senden

2

Montag, 22. Oktober 2007, 16:53

also werte wie picturebox.left -.top -.width -.height kannst du doch auslesen

durch ein bisschen + und - und if kannst du schon alles erreichen :)
AMD Athlon XP 32-1,8 GHz-512 MB RAM-233 GB HDD-64 MB GeForce4 MX 440-XP Home
Intel Core Duo 2,0 GHz-3 GB RAM-250 GB HDD-256 MB ATI RADEON HD3450-Windows 7 Home Premium
VB.NET-C/C++-Java-Ruby-HTML-CSS-PHP-Javascript-AJAX-Groovy-VHDL-Assembler

bsHobbit

Registrierter Benutzer

Beiträge: 645

Hilfreich-Bewertungen: 1

  • Private Nachricht senden

3

Montag, 22. Oktober 2007, 18:14

Jo, oder du machst es dir kompliziert und bildest schnittmengen ^^

oder schreibst gleich methoden zur berechnung von N-Ecks dann hast du viele formen abgedeckt...


aber if geht auch, ist nur ziemlich... naja undynamisch xD

tobikubi

Registrierter Benutzer

  • »tobikubi« ist männlich
  • »tobikubi« ist der Autor dieses Themas

Beiträge: 1 374

Dabei seit: 20. Oktober 2007

Wohnort: Bottrop

  • Private Nachricht senden

4

Montag, 22. Oktober 2007, 20:23

gibt es da keine allgemeine sachen auch egal, dann mache ich es mir mit den if sachen!
wer Rechtschreibfehler findet, darf sie behalten,
my.working.area = "amd phenom 4x 3 Ghz, 8GB Ram, Gigabyte MA770-UD3, MSI n9800GT-MD1G

Eigenschaftseditor für Objekte
Fortschritt: 30%

Mad Andy

Registrierter Benutzer

  • »Mad Andy« ist männlich

Beiträge: 4 451

Dabei seit: 2. August 2004

Wohnort: Österreich / Wien

Hilfreich-Bewertungen: 13

  • Private Nachricht senden

5

Dienstag, 23. Oktober 2007, 06:22

Zitat

gibt es da keine allgemeine sachen
Doch, klar. bsHobbit hat den Vorschlag mit Schnittmengen genannt ;)
Ist für Pictureboxen aber absolut übertrieben, weil die nunma immer 4-eckig sind.

Einfach vor der bewegung, abhängig von der richtung, schauen, ob die beiden überlappen würden, wenn ja: abbrechen.

Mikemike

Registrierter Benutzer

Beiträge: 26

Dabei seit: 13. Januar 2008

  • Private Nachricht senden

6

Samstag, 19. Januar 2008, 00:32

und wie würde das Codemässig aussehen?

DaMasta

unregistriert

7

Samstag, 19. Januar 2008, 01:20

Visual Basic Quellcode

1
2
3
4
5
6
Public Function Beruehrt(ByVal t1 As Control, ByVal t2 As Control) As Boolean
	Dim sx, sy As Boolean
	sx = t1.Left <= (t2.Left + t2.Width) And (t1.Left + t1.Width) >= t2.Left
	sy = (t1.Top + t1.Height) >= t2.Top And t1.Top <= (t2.Top + t2.Height)
	Beruehrt = sx And sy
End Function


funzt für alle controls (PicBoxen, Shapes etc.) in vb6, in .net muss denk ich control ersetzt werden

tobikubi

Registrierter Benutzer

  • »tobikubi« ist männlich
  • »tobikubi« ist der Autor dieses Themas

Beiträge: 1 374

Dabei seit: 20. Oktober 2007

Wohnort: Bottrop

  • Private Nachricht senden

8

Samstag, 19. Januar 2008, 08:07

ist zwar ein bisschen veraltet, habe aber immernoch danach gesucht! danke
wer Rechtschreibfehler findet, darf sie behalten,
my.working.area = "amd phenom 4x 3 Ghz, 8GB Ram, Gigabyte MA770-UD3, MSI n9800GT-MD1G

Eigenschaftseditor für Objekte
Fortschritt: 30%

Social Bookmarks