41 lines
1.2 KiB
Plaintext
41 lines
1.2 KiB
Plaintext
|
|
CameraEffectFocusTo = class("CameraEffectFocusTo", CameraEffect)
|
|
|
|
function CameraEffectFocusTo:ctor(focus, viewPort, duration, listener)
|
|
CameraEffectFocusTo.super.ctor(self)
|
|
self.focus = focus
|
|
self.viewPort = viewPort
|
|
self.duration = duration
|
|
self.finishedListener = function(cameraController)
|
|
if nil ~= listener then
|
|
listener(cameraController)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- override begin
|
|
function CameraEffectFocusTo:DoStart(cameraController)
|
|
self.originalZoom = cameraController.zoom
|
|
cameraController:ResetCurrentInfoByZoom(1)
|
|
|
|
if nil ~= self.offset then
|
|
if nil ~= self.focus then
|
|
cameraController:FocusTo(self.focus, self.offset, self.viewPort, self.duration, self.finishedListener)
|
|
else
|
|
cameraController:FocusTo(self.offset, self.viewPort, self.duration, self.finishedListener)
|
|
end
|
|
else
|
|
if nil ~= self.focus then
|
|
cameraController:FocusTo(self.focus, self.viewPort, self.duration, self.finishedListener)
|
|
else
|
|
cameraController:FocusTo(self.viewPort, self.duration, self.finishedListener)
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
function CameraEffectFocusTo:DoEnd(cameraController)
|
|
cameraController:ResetCurrentInfoByZoom(self.originalZoom)
|
|
cameraController:RestoreDefault(self.duration, nil)
|
|
end
|
|
-- override end |