Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Imagesearch dopóki nie znajdzie obrazka


Rekomendowane odpowiedzi

Opublikowano

Witam serdecznie!

Mam prosty problem, ale nie wiem jak go rozwiązać;
 

#include <ImageSearch.au3>
Global $x, $y

Sleep(2000)
Do
   $r = _ImageSearch("rolling.bmp", 1, $x, $y, 200)
   Sleep(200)
Until $r = 1

MsgBox(0,"info","Znalazlem Obrazek. Idziemy dalej")


Otóż jak sprawić, by ten programik cały czas szukał mojego obrazka, a gdy go znajdzie poinformował mnie o tym msgboxem?


Pozdrawiam

Opublikowano

Nie zagłebiałem się, ale jak chcesz coś robić dopóki funkcja nie zakończy sie sukcesem to zamiast:

Until $r = 1 

musisz dać:

Until $r = 0 

Czyli "rób póki nie osiągnąłeś celu".

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

Dzięki za pomoc, rozumiem teraz to pojęcie

 

Niestety, nadal nie działa, nie ma różnicy czy pokaże mu obrazek czy nie, zawsze wyświetla msgboxa

edit;
Może macie pomysł jak to przerobić, by działało? Bo chyba pętli użyłem dobrej

Opublikowano

Sory, wprowadziłem Cię w błąd - to co miałeś jest dobrze (przynajmniej jeśli chodzi o pętlę) - pomyliłem to z pętlą do...while popularną w innych językach.

 

W takim razie wracam do Twojego pierwszego posta - a co zamiast oczekiwanej funkcjonalności robi ten kod? Jeśli wykonuje pętle w nieskończoność to znaczy, że:

a. ustawiłeś zbyt małą tolerancję odcieni (drugi argument funkcji),

b. obrazek wzorca nie odpowiada ściśle temu co się pojawia na ekranie,

c. korzystasz z wersji biblioteki ImageSearch nieodpowiedniej dla Twojego systemu.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

Teraz działa, ale powstało dzięki Tobie inne pytanie

Windows 10 64 bity

DLL ściągnąłem dla 64 bit

Gdy klikam F5 z poziomu Autoit'a to wywala znany błąd:

"C:\Program Files (x86)\AutoIt3\Include\ImageSearch.au3" (44) : ==> Subscript used on non-accessible variable.:
if $result[0]="0" then return 0
if $result^ ERROR
>Exit code: 1    Time: 3.096

Poradziłem sobie z tym problemem dzięki jakiemuś niemieckiemu filmowi na YT, który zalecał klikać na kod PPM i wybierać kompilację lub RUN SCRIPT x64, wtedy wszystko działa. Wiesz może jak przestawić to, aby kompilowało skrypt na 64 bit w AutoIt od razu tak jak robię to prawym myszy na pliku?

Opublikowano

Nie, nie korzystam z Autoit, więc niestety nie znam takich szczegółów.

Chcesz precyzyjnej i zrozumiałej odpowiedzi? - Zadaj precyzyjne i zrozumiałe pytanie. Nie przyjmuję zleceń.
Nie odpowiadam na priv na pytania, które można zadać na forum. Chcesz mojej pomocy - oznacz mnie w poście =>  @"Hans Kloss PL" 

Opublikowano

Sam sobie ustaw, jak widać nawet nie raczyłeś kliknąć opcji zrobienia pliku 

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

Gdzie to jest? Chodzi mi o automatyczną kompilację w x64 z poziomu skrótu F5, a nie ręcznej kompilacji z poziomu pliku, bo jest to niewygodne

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...