我试图在摄像机上绘制球形动画,这就是我必须使用类View而不是SurfaceView的原因。关键是,当我运行我的应用程序时,动画有时可以正确绘制,但是如果我返回到较早的活动并返回到它,球的绘制速度很慢。要调用OnDraw方法,我使用了加速度计:
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
mView.invalidate();
}
}
那就是我的OnDraw方法:
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
parabolic.getPositions();
int positionY = parabolic.pixY;
int positionX = parabolic.pixX;
ball.setBounds(positionX, positionY,
(int) (positionX + ball.getIntrinsicWidth()),
(int) (positionY + ball.getIntrinsicHeight()));
ball.draw(canvas);
canvas.restore();
}
其中抛物线是我通过init方法初始化的对象:
ParabolicMove parabolic = new ParabolicMove();
球是可绘制的:
ball = context.getResources().getDrawable(R.drawable.ball);
我如何优化它可以很好地绘制动画?
您可以使用静态图像在不同的螺纹上绘制图像和球。这样可以解决您的问题。有关更多信息,您可以使用SurfaceView:http : //developer.android.com/reference/android/view/SurfaceView.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句