Android交易卡游戏卡对象

时间:2013-05-13 20:43:13

标签: android xml android-ui

我正在为一款玩Android卡游戏的Android应用编写GUI。我有几个视图的战场布局代码。我需要制作一个代表甲板的物体,以及一个代表你手中/战场上的牌的物体。这些卡片在长时间拍摄时需要提供一个选项菜单(攻击,防守等),或者在手部区域(绿色)双击时需要移动到战场(蓝色)。我不确定我可以使用哪种xml对象来执行此操作,因为它需要动态发生并从后端代码(卡名称,图像)获取数据。现在我只想创建在与游戏代码合并之前显示为黑色矩形占位符的对象。有没有人建议从哪里开始?

以下是战场布局的当前代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" 
android:background="@color/blue_default">

<View
    android:id="@+id/hand"
    android:background="@color/green_default"
    android:layout_width="fill_parent"
    android:layout_height="70dp"
    android:layout_alignParentBottom="true"
 />

<View
    android:id="@+id/sidebar"
    android:background="@color/gray_default"
    android:layout_width="60dp"
    android:layout_height="fill_parent"
/>

<View
    android:id="@+id/graveyard"
    android:background="@color/red_default"
    android:layout_width="60dp"
    android:layout_height="fill_parent"
    android:layout_toRightOf="@id/sidebar"
/>
</RelativeLayout>

以下是目前的情况:

以下是我希望它的示例:

2 个答案:

答案 0 :(得分:1)

如果您要创建一个更简单的应用程序,其中包含在模拟中安排的纯静态内容,我建议您查看GridView(http://developer.android.com/guide/topics/ui/layout/gridview.html),您可以将此组件用于侧边栏,手和墓地部分。然后,您必须创建自定义视图以使用单卡,卡片堆栈,按钮等填充其适配器(http://developer.android.com/guide/topics/ui/declaring-layout.html#AdapterViews)...

请记住,您的视图层次结构最深(您在各个GridView上显示和堆叠的卡越多),您的应用程序将使用的内存越多,如果可用内存被占用,Android可能会关闭您的应用程序。

恕我直言,如果你要创建一个游戏,并且因为这些天游戏必须具有2D或3D图形的漂亮且流畅的UI,你应该利用Android的OpenGL支持(http://developer.android.com/guide/topics/graphics/opengl.html),并创建记忆效率高的对象来处理游戏的逻辑。

祝你好运!

答案 1 :(得分:0)

标准Android XML布局在构建具有静态视图(不移动或更改位置)的业务UI时非常方便,但我不确定这是否是这种棋盘游戏的最佳选择。

我猜卡片必须移动(动画从甲板到板位),或者可以添加特殊效果。

在这种情况下,我会使用像AndEngine或Cocos2D这样的2D引擎进入更动态的屏幕。 如果您不害怕深入研究2D框架,它们将为您提供很多灵活性和可能性。