在android上绘制数字的动作

时间:2013-12-25 18:32:13

标签: android numbers motion

我是这个Android东西的新手。我必须开发一个可以帮助自闭症学习数字的应用程序。我有一些想法,我一直在努力学习和实现代码。但它失败了。问题是如何应用动作代码或精灵来绘制数字或字母?比如这样,我想让企鹅穿过这条线并画出九号。  enter image description here

mybringback.com有一个例子,即绘制矩形的图像移动。我如何实现它来绘制数字?对不起,如果我问得太多,我只想尝试一些想法。

2 个答案:

答案 0 :(得分:1)

我认为你应该首先构建一个实用程序,以便创建“路径向量”。

我的意思是路径向量只是一个点向量(其中一个点有x值和y值)。你的实用工具应该让你用一支简单的笔画任何你想要的东西。您应该在鼠标停止时在曲面上绘制并存储点,并在鼠标启动时忽略点。

然后,在主程序中,您只需阅读数字/字母的路径。

我尝试为Sugar OLPC平台实现类似的功能,而不将路径序列化为文件:我能够绘制并查看动画。我使用了我刚刚描述过你的过程。

希望它可以帮到你。

P.S:我用的是鼠标这个词,但你猜我说的是手指......

答案 1 :(得分:0)

有多种方法可以实现动画效果。一种非常通用的方法涉及创建自定义View或SurfaceView,在其中覆盖onDraw方法。可以在此找到各种教程; Android的官方讨论在这里: http://developer.android.com/guide/topics/graphics/2d-graphics.html#on-view

您的实现将如下所示:

// Find elapsed time since previous draw
// Compute new position of drawable/bitmap along figure
// Draw bitmap in appropriate location
// Add line to buffer containing segments of curve drawn so far
// Render all segments in curve buffer
// Take some action to call for the rendering of the next frame (this may be done in another thread)

显然是一种简化。有关非常简单的教程,请参阅此处: http://www.techrepublic.com/blog/software-engineer/bouncing-a-ball-on-androids-canvas/1733/

请注意,此技术的不同实现需要您不同程度的参与;例如,如果你使用SurfaceView,你负责调用onDraw方法,而继承普通View可让你让Android负责重绘(以限制你在不同线程上绘制的能力为代价)。在这方面,谷歌仍然是你的朋友=]