圆圈因y轴旋转而摇摆

时间:2014-05-02 17:08:14

标签: android matrix camera android-canvas

我目前正在通过覆盖自定义视图的onDraw方法在Android中学习一些绘图技巧。 我最近想画一个圆圈并在y轴上翻转圆圈。就像硬币翻转一样。但不知何故,它看起来像圆圈在某些东西周围摆动而不是在y轴本身上摆动。观看视频:

www.youtube.com/watch?v=lehDAYKZ6vk&feature=youtu.be

以下是我在onDraw方法中使用的代码的和平:

canvas.save();

mCamera.save();
mCamera.rotateY(rotation);

mCamera.getMatrix(mMatrix);

float CenterX = circle.getX();
float CenterY = circle.getY();

mMatrix.preTranslate(-CenterX, -CenterY); 

mMatrix.postTranslate(CenterX, CenterY);

mCamera.restore();
canvas.concat(mMatrix);

canvas.restore();

代码几乎与以下教程中的代码相同:

www.inter-fuser.com/2009/08/android-animations-3d-flip.html

在上面的教程中,即使使用相同的代码片段,翻转动画也似乎没有摇摆。

我做错了吗?有没有其他解决方案来实现翻转?

看起来画布的视角会被绘制错误。

提前致谢!

1 个答案:

答案 0 :(得分:0)

通过设置

解决了问题
mCamera.setLocation(0,0,-100) 

现在可以正确绘制旋转透视图。