alternative zu getpixel

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von FAtheone.

    alternative zu getpixel

    hallo,

    ich programmiere zurzeit ein spiel in dem es 4 linien gibt (bzw 3 oder 2) mit den auf einem feld herumgefahren wird , jede linie hat eine andere farbe und der außenrand der form hat auch ein bestimmte farbe
    nun ist der sinn des spieles so lange wie möglich zu "überleben" und es soll halt abgefragt werden ob eine linie mit einer anderen "crash" also zusammenstößt das problem ist nur das getpixel leider zu langsam dafür ist , die linien werden mit drawline in echtzeit auf die form gezeichnet nur hab ich jetzt das problem mit der abfrage ob irgentwo jemand mit einem anderen zusammenstößt könnt ihr mir eine alternative nennen wie ich das mache? habe leider überaupt kein plan was es da noch gibt

    danke schonmal
    Du könntest du Kollision einfach anhand der gezeichneten Linien berechnen - ganz ohne GetPixel. Wenn Linie1 (vertikal) von (10, 10) bis (10, 20) reicht und Linie2 (horizontal) von (5, 15) bis (15, 15), dann ist es logisch, dass sich die Linien treffen (bei 10, 15). Diese Berechnungen musst du immer durchführen, wenn eine Linie neu gezeichnet wurde. Eventuell kannst du auch eine eigene Vector-Struktur erstellen, die die Berechnungen erleichtert. Sie würde dann die Member "Point (x, y), Direction (Int) und Length (Int)" enthalten.
    Gruß
    hal2000
    das problem ist halt das die linien halt aus gelenkt werden und hinterher etwa so aussehen würden(anhang)
    da ist es schwer dies mit deiner methode zu erledigen..
    Bilder
    • ....png

      41,35 kB, 930×527, 134 mal angesehen
    Wenn du deine Linie/Pfad als Graphicspath zeichnest, dann sie dir mal Graphicspath.isOutlineVisible(Point ) an. Da wird überprüft, ob der angegebene Point auf einer Konturlinie deines Graphicspath liegt. Da brauchste garnich rechnen :D
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Das sieht mir nach einer Art Linerunner-Klon aus.
    In dem Fall: Linerrunner besteht aus Feldern, deren KANTEN Blockiert werden können.
    Du könntest also in einem Array die Stati der Kanten (Nicht Gezogen, Frabe 1, Farbe 2 etc.) speichern, was
    (wie picoflop imho schon gesagt hat) die dumme Grafische KP ersetzen kann.