Эта статья о использование мыши и камеры , а именно об управлении камерой с помощью мыши в GLScene. Изложенное ниже можно с успехом использовать с стратегиях или редакторах.
Как вращать камеру (или что другое) возле объекта?
В событие viewer Mouse Move пишем
if ssLeft in Shift then
GLCam.MoveAroundTarget(my-y, mx-x);
mx:=x; my:=y;
Т.е. при зажатой левой кнопки мыши камера будет вращаться возле цели , разуметься цель предварительно указана.
Как приблизить\отдалить камеру по правой кнопке? В событие viewer Mouse Move пишем
if ssRight in Shift then
GLCam.AdjustDistanceToTarget(Power(1.05,my-y));
Тут у нас при зажатой правой кнопки и движении мыши мы приближаем или отдаляем камеру.
Как плавно приближать колёсиком мыши? В событие Form Mouse Wheel пишем
if wheeldelta > 0 then
GLCam.AdjustDistanceToTarget(0.98
...
Читать дальше »