![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Mar 2015
Сообщений: 14
|
Не могу понять как сделать - плавный зум - приближение камеры.
На данный момент простой зум - осуществляется через этот код stage.addEventListener(MouseEvent.MOUSE_WHEEL, wheel, false, 0, true); private function wheel(evt:MouseEvent):void{ if (evt.delta < 0) { controller.distance *= 1.10; } else { controller.distance /= 1.1; } return;/ } Пробовал делать это через - bool, if evt.delta<0 zoom == true, controller.distance *=1.10, но тогда возникает проблема - бесконечного отдаления, либо приближения, как это можно решить ? |
|
|||||
|
Регистрация: Mar 2015
Сообщений: 14
|
Цитата:
private var zoomOverTimeCameraFactor:Number; public var zoomOverTimeFactor:Number; zoomOverTimeFactor = 0; zoomOverTimeCameraFactor = 1; if (zoomOverTimeFactor > 0 ) { (zoomOverTimeFactor - 1); //zoomin=true; if (zoomOverTimeFactor > 0) { controller.distance -= zoomOverTimeFactor * zoomOverTimeCameraFactor; } else { zoomOverTimeFactor = 0; } } if (zoomOverTimeFactor < 0 ) { (zoomOverTimeFactor + 1); if (zoomOverTimeFactor < 0 ) { controller.distance -= zoomOverTimeFactor * zoomOverTimeCameraFactor; } else { zoomOverTimeFactor = 0; } } private function wheel(evt:MouseEvent):void{ if (evt.delta < 0) { //controller.distance *= 1.10; zoomOverTimeFactor =-10; } else { //controller.distance /= 1.1; zoomOverTimeFactor = 10; //zoomin = true } //return; } В общем сгновно-кодил костыль - мож кому пригодиться ? Буду не-прочь увидеть - решение по лучше! Последний раз редактировалось LighFusion; 23.04.2015 в 21:21. Причина: Добавлено сообщение! |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|