[MDX] DX2Dengine [Update 17.4.2010 17:22] mit Sourcecode Z-Buffer-Korrektur

    • VB.NET

    Es gibt 61 Antworten in diesem Thema. Der letzte Beitrag () ist von Tibha.

      Im Prinzip musst du eigentlich nur alle Rechtecke, an denen sich die Sprites befinden durchgehen (von oben nach unten, also mit den Indices vom Maximum zum Minimum) und dann überprüfen, ob die Koordinate des Klicks sich innerhalb des Rechtecks befindet. Wenn dem so ist, speicherst du den Index der Sprite und die Position des Klicks in Variablen und verschiebst die Bitmap anschließend im MouseMove-Event entsprechend (-1 für den Index sei "kein Element angewählt", also auch den Startwert der Variable auf -1 setzen und im MouseMove-Event abfragen, ob der Wert ungleich -1 ist und dann die aktuell ausgewählte Sprite verschieben). Beim MouseUp setzt du dann den Index des geklickten Elements auf -1.

      Gruß
      ~blaze~
      Erstmal: Großes Lob - Klappt, jedenfalls bei mir, sofort und ohne Probleme. Schön ist auch, dass XML-Dokumentation dabei ist!



      Interessenhalber habe ich das Ganze mal mit .NET Framework 2.0 ausprobiert - klappt. Man muss lediglich in den Zeilen (z.B. 92) wo die Methode .Last vorkommt Ersatz finden um das letzte Element der "Sequenz" herauszufinden.


      VB.NET-Quellcode

      1. With sprDat.Last

      --> Wird zu:

      VB.NET-Quellcode

      1. With sprDat.Item(sprDat.Count - 1)