Тип Камеры
я чуствую что занимаюсь велосепедизмом .. но все же
Код:
Global Camera:TCamera Код:
просто я пока плохо перевариваю ограничение екрана :) мне надо больше :) |
Re: Тип Камеры
Молодец) Сделай поддержку нескольких камер и переход между ними: через фейд или перелет.
|
Re: Тип Камеры
Я это реализовываю немного другим путём:
Я не создаю новый класс, у меня есть только 5 значений: 1,2 - Размер экрана. 3,4 - Позиция камеры (левый верхний угол, хотя сделать центр несложно). 5 - Коэфицент Зуума. И далее в других классах есть отрисовка, например для линий есть локальная функция TLine.Render() где происходит перебор эллементов, каждый проверяется попала линия в экран исходя из 5 значений для камеры, если да то отрисовывать опять исходя из 5 значений. Вот и всё. А заводить новый класс зачем? Я решил что мне не нужно много камер, я сделал плавное перемещение камеры и всё, даже если точку куда нужно переместить камеры, поставить очень далеко, то она не сразу туда двинется, а полетит. А вообще хз, каждый по своему делает, кому как удобнее. ;) Да и относительно перемещения камеры, сделай так: 2 перменные отвечающие за точку куда должна переместиться камера, и двигай по формуле: camera_x:+(camera_trgx-camera_x)*.01 camera_y:+(camera_trgy-camera_Y)*.01 А x и y в методе TCamera.Move прибоавляй к координатам цели. ;) Будет приятнаое сглаживание. А вообще твой способ в определённых ситуациях удобен, мне например координату мышки нужно было складывать постоянно, ну и т.п. а у тебя сразу, но совет: В начале цикла привязывай координаты мышки к переменным, а потом их юзай вместо вызова MouseX() и MouseY(). |
Re: Тип Камеры
да кстати, вот последний тип камеры из jAqua
Код:
Type TCamera ибо вам он не нужен |
Re: Тип Камеры
Я это делал так. Если кому интересно. :-)
Код:
|
Часовой пояс GMT +4, время: 07:04. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot