Подскажите, есть ли сейчас нормальный способ получить экранные координаты ? Перенес на луа библиотеки math и camera из dgui, и решил попробовать, проблема оказалось с небом...
Способ из сетки фреймов не рассматриваю - слишком сильно бъет по fps
В итоге получилось что-то на подобии этого... есть идеи, как сделать это более плавнее ?

Вот в итоге что получилось:
Использовал фреймы, небольшая сетка, 8 вправо, 8 влево, вверх и вниз по 6. world2win - работает с погрешностью, потому что камера реальная и которая должна устанавливается имеют небольшое смещение. У меня, изменение положение камеры не мгновенные (вроде каждый 0.01 сек, меняется положение камеры на 10% от разницы, на сколько она должна поменяться)
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
33
Передавая положение мыши из вне, каждые 0.01 сек работает так как нужно
Лучше передавать положение координат мыши по событию MouseMove
GetPlayerMouseX={}
GetPlayerMouseY={}
function InitMouseMoveTrigger()
	local MouseMoveTrigger = CreateTrigger()
	for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
		local player = Player(i)
		if GetPlayerSlotState(player) == PLAYER_SLOT_STATE_PLAYING and GetPlayerController(player) == MAP_CONTROL_USER then
			TriggerRegisterPlayerEvent(MouseMoveTrigger, player, EVENT_PLAYER_MOUSE_MOVE)
		end
	end
		TriggerAddAction(MouseMoveTrigger, function()
			local id=GetPlayerId(GetTriggerPlayer())
			--HERO[id].IsMouseMove=true
			GetPlayerMouseX[id]=BlzGetTriggerPlayerMouseX()
			GetPlayerMouseY[id]=BlzGetTriggerPlayerMouseY()
		end)
end

EVENT_PLAYER_MOUSE_MOVE
7
EVENT_PLAYER_MOUSE_MOVE
Координаты отслеживаются игровые а не экранные, из за этого есть масса проблем.
зы: прикрепил новое видео с камерой
33
Zetox, так что удалось получить экранные координаты? можно принтами как-то проследить это?
7
Bergi_Bear:
Zetox, так что удалось получить экранные координаты? можно принтами как-то проследить это?
нет, пришлось сделать небольшую сетку фреймов 16 на 12 (ещё обрежу ее по углам). Сейчас через подгонку параметров и постепенного перехода удалось добиться нормального фпс и плавность камеры.
38
Это не спортивно)
7
ScorpioT1000:
Это не спортивно)
Ну я так не понял, как получить экранные координаты, когда мышка на небе)
38
Вот наш небольшой брейнсторм:
world2win работает, но на ходу не получится
идея была ставить курсор в низ экрана - сколько-то пикселей и ждать смещения, потом опять ставить (это позволит почти не париться о небе)
насколько сместили - столько будет сила вращения камеры
фреймы дают инпутлаг и фпс дроп
world2win - камера не синхронна с мышью, а если синхронить, то будет низний апдейт рейт
Открыть целиком
ScorpioT100029.04.2020
ну что, надумали ловить мышь в рилтайме?
world2win работает, но на ходу не получится
идея была ставить курсор в низ экрана - сколько-то пикселей и ждать смещения, потом опять ставить
насколько сместили - столько будет сила вращения камеры
фреймы дают инпутлаг и фпс дроп
world2win - камера не синхронна с мышью, а если синхронить, то будет низний апдейт рейт
что ещё есть? давайте брейнсторм
prog29.04.2020
мое непопулярное мнение таково - не заниматься фигней и оверинжинирингом в рефорже и либо делать что-то не требующее этого либо идти на другой движок и делать нормально
N1ghtSiren29.04.2020
без события нельзя получить глобальные координаты мыши
на таймер это не привязать = нужно изобретать костыль
ScorpioT100029.04.2020
да
я пробовал ставить камеру вертикально, брать коорды, потом возвращать
но коорды чисто переменные от события
что если форсить нажатие средней кнопки мыши в периоде?
N1ghtSiren29.04.2020
если фейковое нажатие триггерит событие то почему нет
ScorpioT100029.04.2020
в ForceUIKey можно ли мышь передать вообще
N1ghtSiren29.04.2020
там другие штуки для мыши были
ScorpioT100029.04.2020
оно стринг принимает
для позиции были, а для кнопок
N1ghtSiren29.04.2020
вообще в теории можно сетку фреймов на экран вывести но это слишком сльный костыль
ScorpioT100029.04.2020
инпутлаг
как доставать common.js вообще нынче?
там в целом 1.32.4 и есть какие-то фиксы
! Миша29.04.2020
Так же в архивах лежат ScorpioT1000
Просто другой прогой открыватт
Если ты про варкрафт
ScorpioT100029.04.2020
какой
! Миша29.04.2020
Casc вроде, не работаю на данном патче
Последнюю версию просто качаешь
Видел, люди кидали скриншоты из программы
ScorpioT100029.04.2020
охренеть он долгий)
prog29.04.2020
как доставать common.js вообще нынче?
зезуловский каск вьювер
ScorpioT100029.04.2020
короче да
ничего там нового в 1.32.4
7
Вот в итоге что получилось:
Использовал фреймы, небольшая сетка, 8 вправо, 8 влево, вверх и вниз по 6. world2win - работает с погрешностью, потому что камера реальная и которая должна устанавливается имеют небольшое смещение. У меня, изменение положение камеры не мгновенные (вроде каждый 0.01 сек, меняется положение камеры на 10% от разницы, на сколько она должна поменяться)
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.