While ... Wend Frage

  • Hallo,

    ich brauche heute das erst mal ein While...Wend Konstrukt und wollte fragen, ob das so gehen könnte?

    Code
    While PixelSearch(964, 805, 963, 804, 0xE67600) OR PixelSearch(964, 805, 963, 804, 0xAC1F2D); solange rot oder orange, warte
        sleep(10000); 10 sek
    WEnd

    Danke

  • Ich verwende PixelSearch nicht, da PixelSearch

    Zitat
    Success: a two-element array of pixel's coordinates. (Array[0] = x, Array[1] = y).
    Failure: sets the @error flag to 1 if the color is not found

    zurückgibt,läuft deine Schleife solange bis PixelSearch einen der beiden Werte findet. Abhilfe:

    Code
    While Not PixelSearch(964, 805, 963, 804, 0xE67600) And Not PixelSearch(964, 805, 963, 804, 0xAC1F2D)
  • OK, ich hole mal kurz aus, was ich erreichen will.

    Ich habe eine Funktion, die schon sauber läuft. Jetzt möchte ich am Anfang der Funktion eine Überprüfung einbauen. Wenn an einer bestimmten Stelle die Farbe Orange oder Rot zu sehen ist, soll die Funktion so lange eine Wartechleife drehen, bis weder Orange noch Rot an diesen Pixeln zu sehen ist. Wenn die Farben dann nicht mehr da sind, soll die Funktion weiter laufen.

  • Wenn an einer bestimmten Stelle die Farbe Orange oder Rot zu sehen ist, soll die Funktion so lange eine Wartechleife drehen, bis weder Orange noch Rot an diesen Pixeln zu sehen ist.

    genau dies soll die obige Codeänderung bewirken.

    Wenn die Farben dann nicht mehr da sind, soll die Funktion weiter laufen.

    dafür benötigst du eine weitere Schleife, also insgesamt muß es dann so aussehen:

    Code
    While 1
        While Not PixelSearch(964, 805, 963, 804, 0xE67600) And Not PixelSearch(964, 805, 963, 804, 0xAC1F2D)
            Sleep(10000) ; 10 sek
        WEnd
    WEnd