Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Ramzesia on May 26, 2022, 01:14:24 AM
-
Помогите определить угол, направления камеры.
(https://i120.fastpic.org/thumb/2022/0526/48/28596266fddfe8c6ffeeecf05410d448.jpeg) (https://fastpic.org/view/120/2022/0526/28596266fddfe8c6ffeeecf05410d448.jpeg.html)
(https://i120.fastpic.org/thumb/2022/0526/df/1c3ca5318b2e794498e2f6043cbdb4df.jpeg) (https://fastpic.org/view/120/2022/0526/1c3ca5318b2e794498e2f6043cbdb4df.jpeg.html)
-
jpeg
Фон всегда такой? Размер и размер сектора тоже постоянный? Насколько чистые и неизменяемые цвета в секторе?
Тогда в цикле проверяешь цвета по окружности.
Где встретил смену с фона на берюзовый значит начало и азимут = найденный угол+половина сектора
Если встретили смену фона с нужного на фон = найденный угол-половина сектора
(https://i.ibb.co/Br0MN3w/2022-05-26-14-33-17.png) (https://imgbb.com/)
Типа такого
$radius = 30 // радиус
$centr_X = 960 // центр X
$centr_Y = 563 // центр Y
$color_back = 12566145 // цвет фона
$step_angle = 2 // шаг угла проверки (градус) точность/ускорение
GETSCREEN
$color_old = -1000
FOR($a=0, $a < 360, $step_angle)
$x = INT($radius * COS($a-90) + $centr_X)
$y = INT($radius * SIN($a-90) + $centr_Y)
$color = pxl($x,$y)
//MOVE($x,$y)
//WAITMS(10)
IF(($color_old != -1000) & ($color != $color_old))
IF($color_old == $color_back)
$azimuth = $a + 45
IF($azimuth > 360)
$azimuth = $azimuth - 360
END_IF
ELSE
$azimuth = $a - 45
IF($azimuth < 0)
$azimuth = $azimuth + 360
END_IF
END_IF
$a = 1000
END_IF
$color_old = $color
END_CYC
LOGWRITE("Азимут: ", $azimuth)
HALT
-
Фон всегда такой? Размер и размер сектора тоже постоянный? Насколько чистые и неизменяемые цвета в секторе?
Тогда в цикле проверяешь цвета по окружности.
Где встретил смену с фона на берюзовый значит начало и азимут = найденный угол+половина сектора
Если встретили смену фона с нужного на фон = найденный угол-половина сектора
Фон скорее всего будет черно белым, такая же чистая без мусора, просто угол камеры будет белым на черном фоне.
Логику скрипта понял, вернее ты доходчиво объяснил)
Спасибо за ответ конешно, но не мог бы еще помочь прикрутить управление? что бы была возможность, выставить нужный угол, разворот осуществляется правой мышкой, нажать потянуть в сторону. Я бы сам попробовал но я точно знаю что не смогу сделать, я вот смотрю и даже не понимаю как повернуть на сколько пикселей. Вот с бегом разобрался собрал формулу, которая рассчитывает время удерживания кнопки, что бы персонаж дошел с точки "а" в "б" практически с 98% точностью (просто факторы типа лагов не дают 100% результат), я понимаю что это не сложно и другому это раз плюнуть, но блин я рад что у меня получилось)
Опишу что мне нужно, повернуть персонажа, на нужный мне угол, ну типа идем прямо, дошли до точки где нужно повернуть, и развернуть камеру, на нужный угол, это будет мего помощь если поможешь. Спасибо за все лучший форум, и лучшие форумчане, жаль что активность уже не та как раньше)
-
жаль что активность уже не та как раньше)
Вот это поворот! Сам-же, методично обливал беспричинными оскорблениями, тех кто больше всех помогал на форуме, а сейчас жалеет, что активность не та! ;D
-
жаль что активность уже не та как раньше)
Вот это поворот! Сам-же, методично обливал беспричинными оскорблениями, тех кто больше всех помогал на форуме, а сейчас жалеет, что активность не та! ;D
вы что то напутали уважаемый.
-
Спасибо за ответ конешно, но не мог бы еще помочь прикрутить управление? что бы была возможность, выставить нужный угол, разворот осуществляется правой мышкой, нажать потянуть в сторону.
Это нужно делать имея доступ к игре. На пальцах не получится.
Чем поворот отличается от сделанного бега? Так же методом подбора - нашёл азимут, определил на какой угол нужно повернуть и куда и подбираешь значение для мыши. Скорее всего там MOVE не работает может нужно использовать MOVER.
-
Не получается ничего, азимут почему то всегда ноль(
-
Не получается ничего, азимут почему то всегда ноль(
Исправил выше.
Забыл дописать одну строку
$color_old = $color