Помимо способа Bitya, поделюсь одним немного муторным (муторный для тех, кто все изменяющиеся картинки для заготовок будет отлавливать вручную), но быстро работающим способом. Предположим, что у нас есть некая картинка камня, которая изменяется. Все изменяющиеся картинки, как правило, имеют свой диапазон изменений. То бишь - в игре есть 5-7-10 заготовленных картинок, похожих друг на друга в общем, но разных в мелочах. И эти картинки быстро подменяют друг друга, создавая видимость (например) сияния какого-нибудь объекта, при этом сохраняя визуальность этого объекта так, чтобы можно было различить, что это именно он. Так вот... Если это к примеру какой-нибудь камень, то создаем в проекте скрипта (в директории скринов) папку - "камень". Далее пишем скрипт:
GETSCREEN($x1,$y1, $x2,$y2) // Скриним координаты камня
COLORMODE(6, $x1,$y1, $x2,$y2) // Если нужно, "колормодим".
$count = PXLCRC ($x1,$y1, $x2,$y2) // Подсчитываем контрольную сумму пикслей
if (FExists(STRCONCAT("screens\камень\",$count,".bmp"))) // Проверяем - есть ли у нас уже такой вариант камня в скринах
else // И если такого варианта у нас нет, то...
SCREENSHOTFIX($x1,$y1, $x2,$y2, STRCONCAT("screens\камень\",$count,".bmp")) // Сохроняем скрин камня с контрольной суммой пикслей в названии картинки.
end_if
Этим скриптом отлавливаем все варианты этого камня, а потом ищем его практически тем же скриптом:
GETSCREEN($x1,$y1, $x2,$y2) // Скриним координаты камня
COLORMODE(6, $x1,$y1, $x2,$y2) // Если нужно, "колормодим".
$count = PXLCRC ($x1,$y1, $x2,$y2) // Подсчитываем контрольную сумму пикслей
if (FExists(STRCONCAT("screens\камень\",$count,".bmp"))) // Проверяем - есть ли у нас в папке "камни" скрин с такой контрольной суммой в названии.
// Ну и как бы, если есть, то камень найден.
end_if
Скрины камней мы в приципе делаем для себя, чтобы визуально понимать - какой скрин потом в какую папку пихать. Просто чаще искать приходится не один камень и папок с камнями может быть не мало. Нам важны не скрины, а их названия.