Показать сообщение отдельно
  #18  
Старый 27.08.2013, 17:08
Аватар для SCrat.ORS
SCrat.ORS SCrat.ORS вне форума
Активный
 
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
По умолчанию

А вот не проще использовать функцию WindowFromPoint? т.е. получить идентификатор окна приложения-игры, и потом статическими координатами обращаться непосредственно к нему, а не отсчитывать координаты положения окна?

ну вроде вот ошибка
Код:
function FindPixel(FindColor, X, Y, StopX, StopY: Integer): CursorXY;
var
  X1    : Integer;
  Flag  : Boolean;
begin
  Result.Res:= False;
  Flag      := False;
  while Y <= StopY-1 do
    begin
      for X1:= X to StopX-1 do
        begin
          SetCursorPos(X1, Y);
          if Form1.Image1.Picture.Bitmap.Canvas.Pixels[X1, Y] = FindColor then
            begin
              Result.X    := X1;    {возвращаем координаты найденного пикселя}
              Result.Y    := Y;
              Result.Res  := True;  {а также информацию о том что пиксель найден}
              Flag        := True;  {мы нашли наш пиксель}
              Break;                {значит выходим из цикла}
            end;
        end;
      x:=0; ///--- !!!!
      if Flag then                  {если завершили внутренний цикл - завершаем и внешний}
        Break;

      Inc(Y);
    end;
end;

После поиска массива, и не обнаружения пикселя, в функцию поиска идут координаты X не с 0, а от туда где закончился поиск массива цветов,... бла-бла-бла. Вообщем после окончания продолжения поиска по X, надо сказать что следующая строчка пошла с 0.
__________________
Програмистами не рождаются, ими становятся!
Ответить с цитированием