大家好,感谢您的时间。
问题简介:基本上主要的问题是我正在设计一个Android平板电脑应用程序而且我不确切知道哪种是实现这种设计的最佳方式我是一直在想。我一直在阅读可以使用除Android之外的其他平台,如OpenGL或HTML,但我实际上并不知道如何做,如果有必要的话。
我该怎么办?我不知道如何准确地解释使用单词的想法,所以我决定准备一张关于它的小图片,这里是:
因此,我们的想法是将按钮拖放到颜色方块,并检测它们是否发生碰撞,如果发生这种情况,请启动一个事件。然后所有按钮将自己再次订购。
那么问题是什么?我是android的新手,我不知道哪个是开始实现这个的最好方法,如果我应该直接在Android中投注OpenGL或程序。在这两种情况下,这是 START CREATING 这样的最佳方式?
最后的事情:我想澄清一些事情,以防万一:这不是有人要求我做的任何学校工作,我是靠自己做的。我没有要求人们做我的工作我只是问你的意见,并寻求帮助和指导如何开始管理这个。 (所以我想要你的专业意见,而不是任何一行代码):D
非常感谢大家。 :)
塞马蒂。
答案 0 :(得分:2)
这听起来像使用触摸事件在HTML / JavaScript中很容易做到,可能使用support library进行拖放事件。我不知道这对你来说是否重要,但这个解决方案的好处在于它很容易从Android移植到其他移动设备。
就像Quintin所说,如果性能是一个很大的问题,你可以优化并转向OpenGL,但你可能会在一天内用HTML删除一个简单的原型...
答案 1 :(得分:1)
Open GL似乎是您最好的选择。我对Android OpenGL没有多少经验,但它是编写应用程序最有效的方式 - 因为你正在处理碰撞检测和颜色。
Android OpenGL将是最佳选择,因为它将由ADK本地编译,而HTML将在运行时进行解释。
至于使用普通的平淡Android布局,我不建议这样做,因为这不是使用标准组件的“标准”UI。您正在创建一个非常独特的图形界面,所以我建议坚持这一点。
编辑您会发现,通过使用标准布局,您的所有用户界面组件都必须进行自定义,并且您将在onDraw()方法中花费大量时间进行碰撞检测。
这样做的一个问题是你需要检查对象是否与另一个对象发生碰撞,使某些类型的对象相互识别,并且可能存在循环引用的风险。然而,如果您使用OpenGL,您可以拥有一个“Shape”类型列表,然后使用“checkCollision(Shape draggedObject)”方法,该方法遍历形状列表并使用针对最简单对象的优化碰撞检测来检查碰撞。
第二个问题是在onDraw()方法中进行碰撞检测会使你的应用程序滞后,并且在执行拖动时对用户来说看起来很粘。问题越多,问题越多。
编辑2:
以下是Android OpenGL的一些资源:
http://developer.android.com/guide/topics/graphics/opengl.html
http://www.learnopengles.com/android-lesson-one-getting-started/
2D example with OpenGL
答案 2 :(得分:1)
在我看来,你不需要任何框架。你可以用android做到这一切。我还建议你使用android。我不是一个好的设计师,但我的建议是:
2x Framelayout,左侧为彩色工具,右侧为彩色工具 对于颜色工具,对于每种颜色,您可以使用LinearLayout。如果您想要精确的backgraund设计,您可以使用图像软件进行设计,并可以在后台进行设置。 对于颜色,您可以使用imageButton。
我还建议你阅读教程如何设计应用程序,这是一个很好的教程:http://mobile.tutsplus.com/tutorials/android/android-layout/