如何在Android中倾斜布局?

时间:2011-07-24 08:10:02

标签: android android-layout

我需要在android中倾斜一个大约45度逆时针的布局。 我想在android中实现一个游戏stackopolis。有任何方法来对齐游戏中的图块。我有图块图像,现在我用画布来对齐它。但是我无法获得点击事件并且很难对齐tiles.is网格视图是兼容的。任何新的想法。  我有这些图像。this is the main background

main background grid

tile

我希望将此图块与网格对齐。需要点击事件,如stackopolis

5 个答案:

答案 0 :(得分:9)

为了创建这样的游戏,你真的不想使用布局。您可以使用位图blitting或OpenGL创建一个tile引擎。

答案 1 :(得分:4)

您可以使用以下方法来旋转视图

注意:以上所有都是自:API Level 11

答案 2 :(得分:1)

如果你对制作游戏不太了解,请阅读本书

http://www.amazon.com/dp/1430230428/?tag=stackoverfl08-20

它会教你一切你应该知道做你想做的事。它还为您设置了OpenGL ES,因此您的应用程序将非常流畅

我真的建议使用OpenGL,使用Canvas类不仅速度慢,而且还会受到限制

答案 3 :(得分:1)

对于这样的游戏,您应该真正实现自己的图形代码,而不是依赖于标准的Android布局组件。无法将Android布局旋转45度。基本上有两种方法可以解决这个问题:你可以使用Canvas并使用基元和位图绘制图形,或者你可以使用功能更强大的OpenGL实现,它具有更陡峭的学习曲线但可能有更好的结果。

您可以在此处阅读有关Android上2D图形的更多信息: http://developer.android.com/guide/topics/graphics/2d-graphics.html

更多关于3D图形的信息: http://developer.android.com/guide/topics/graphics/opengl.html

请记住,OpenGL更适合实时游戏,游戏需要保持良好的帧速率。如果您的游戏是战略游戏或回合制游戏,您可能会使用更简单的基于Canvas的实现。我建议你查看框架中的以下类:

帆布 http://developer.android.com/reference/android/graphics/Canvas.html

SurfaceHolder http://developer.android.com/reference/android/view/SurfaceHolder.html

GLSurfaceView http://developer.android.com/reference/android/opengl/GLSurfaceView.html

答案 4 :(得分:1)

你有没有看过this Android游戏引擎?它被称为AndEngine - 虽然我没有太多玩它 - 它具有像暗黑破坏神II那样的“topview”类型游戏的功能。