tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
643
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    cesupa cesupa ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Beiträge
    329
    Hallo,

    ich bin grad dabei ein kleines Spiel zu proggen und hab da ein Problem: Ich habe ein Spielfeld in einer Picturebox gezeichnet, nun möchte ich gerne Shape-Objekte in dieses Spielfeld legen, jedoch wenn ich versuche aus der Werkzeugleiste ein Shape-Objekt auf die Picturebox zu ziehen, verschwindet es gleich in den Hintergrund. Meine Frage: Wie kriege ich das Shape-Objekt in den Vordergrund der Picturebox, also quasi in die Picturebox hinein?

    Gruß
    cesupa
     

  2. #2
    Avatar von codeman
    codeman codeman ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Salzburg/Austria
    Beiträge
    137
    Hallo cesupa,

    das versteh ich jetzt nicht ganz. Wenn du im Designer eine PictureBox auf die Form zeichnest und dann in der Toolbox das ShapeObjekt auswählst un in der PictureBox aufspannst, ist die PBox ja ein ganz normal Container für das Shape und es wird ja auch im Vordergrund angezeigt.

    Mit Doppelklick auf der Toolbox gehts nicht, aber Shape auswählen und auf PBox aufspannen funktioniert eigentlich einwand frei.
     
    Signatur wird geladen...

  3. #3
    cesupa cesupa ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Beiträge
    329
    Ahh, ja da lag das Problem, ich hab das Shape-Objekt über Doppelklick eingebunden.
    Danke für deine Antwort.

    Gruß
    cesupa
     

  4. #4
    cesupa cesupa ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Beiträge
    329
    Hi, ich hätt da noch ne Frage:

    Unzwar hab ich jetzt in meiner Picturebox 2 Punkte die Diagonal zueinander liegen, diese habe ich mit einer Linie verbunden, nun möchte ich, dass das Shape-Objekt dieser Linie vom Punkt A nach Punkt B folgt, ich habs bereits mit dem Satz des Pytagoras versucht, jedoch ohne großen Erfolg, vielleicht hab ichs auch falsch angegangen? Gibt es irgendeine einfache Möglichkeit, das Shape Diagonal der Linie nach zu bewegen?

    Gruß
    cesupa
     

  5. #5
    Avatar von codeman
    codeman codeman ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Salzburg/Austria
    Beiträge
    137
    Wenn du die Positionen der zwei Punkte genau kennst kannst du dir die einzelnen 'Zwischenstücke' ausrechnen.

    Ich würde das mit Vektoren machen, klingt dann zwar kompliziert ist aber ziemlich einfach.
    Ein Beispiel:

    Code :
    1
    2
    3
    4
    5
    
    A
    |__
        |__
            |__
                B

    Jedes |__ ist ein 'Zwischenstück', oder die schöne mathematische Bezeichnung 'Richtungsvektor'. Wenn du also die Punkte weisst, kennst du auch die Kooridinaten und den Vektor....
    Jetzt hast du den Richtungsvektor und den Vektor der Gerade. Somit kannst du mit einem Timer das Objekt 'Stückchenweise' entlang fahren lassen.

    Was ich damit sagen wollte:
    Rechne dir die Koordinaten der zwei Punkte aus (Scale Mode), zähl sie zusammen, rechne durch z.B.: 10 und lass das Objekt diesen X|Y Wert entlang fahren.
     
    Signatur wird geladen...

  6. #6
    cesupa cesupa ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Beiträge
    329
    Hab ich jetzt nicht so ganz verstanden, also wenn Punkt A die Koordinate 10,10 hat un der Punkt B 1000,1000, wie soll ich das dann genau machen?
     

  7. #7
    Avatar von codeman
    codeman codeman ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Salzburg/Austria
    Beiträge
    137
    Also:

    Am einfachsten ist es du setzt den ScaleMode auf eine sinnvolle eigenschaft. z.B. 1000, 1000.

    Es gibt da so eine nette Halbierungspunkt-Formel:

    H =1/2 x (A+B)

    hier kann man die Punkte einsetzen. 1/2 ergibt die Hälfte des Vektors AB.
    H ergibt die Hälfte des Vektors.

    A(5|5)
    B(10|10)
    H=(7,5|7,5) ... ich hoffe das stimmt jetzt.

    Die neue Position des Shapes ist: Left=7,5 | Top=7,5.
    So kannst du dir beliebig viel Punkte ausrechnen. Je nachdem wieviel du brauchst für eine ruhige Bewegung.
     
    Signatur wird geladen...

  8. #8
    cesupa cesupa ist offline Mitglied Brokat
    Registriert seit
    Sep 2004
    Beiträge
    329
    Gut, danke jetzt hab ichs verstanden. Funktioniert einwandfrei, vielen dank für deine Antwort.

    Gruß
    cesupa
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 22.07.08, 09:11
  2. pictureBox auf PictureBox oder Label
    Von shn im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 31.08.05, 16:37
  3. PictureBox über PictureBox
    Von JK_net im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 14.03.05, 09:03
  4. Shape?
    Von vodka im Forum Cinema 4D
    Antworten: 1
    Letzter Beitrag: 14.12.03, 14:48
  5. Shape mit Mesh-Smooth ----> Shape geht Kaputt
    Von Grafik-Bewunderer im Forum 3D Studio Max
    Antworten: 5
    Letzter Beitrag: 05.05.02, 17:14