捏(缩放)手势不正确缩放
问题描述:
我试图找出为什么我的缩放在我的OpenGL相机上表现得非常奇怪。 它的目的是放大和缩小,但其缩放非常随机。捏(缩放)手势不正确缩放
继承人我的代码:
- (void)pinchDetected:(UIPinchGestureRecognizer *)pinchRecognizer
{
NSLog (@"%@", @"Pinching");
if (pinchRecognizer.state == UIGestureRecognizerStateBegan ||
pinchRecognizer.state == UIGestureRecognizerStateChanged ||
pinchRecognizer.state == UIGestureRecognizerStateEnded) {
currentScale = pinchRecognizer.scale;
}
if(lastScale < currentScale) {
_camera.z += currentScale * 0.01f;
lastScale = currentScale;
}
if (lastScale > currentScale)
{
_camera.z -= currentScale * 0.01f;
lastScale = currentScale;
}
}
答
如果你有什么事情,是乘法,你想让它添加剂,你需要采取日志:
- (void)pinchDetected:(UIPinchGestureRecognizer *)pinchRecognizer
{
if ((gesture.state == UIGestureRecognizerStateBegan) ||
(gesture.state == UIGestureRecognizerStateChanged) ||
(gesture.state == UIGestureRecognizerStateEnded)) {
_camera.z += log(gesture.scale); // you'll probably want to multiply this by some constant
gesture.scale = 1.0;
}
}
它随时改变的,所以它基本上不会以连续因子进行缩放。如果这是有道理的? – JavaCake 2012-03-13 21:10:07