我目前正在为Android开发一款简单游戏,主要操作发生在我的GameView类上,这只是View的扩展。
我想在GameView的左上角添加一些显示分数的文字,想知道实现这个的最佳方法吗?
提前致谢
Matt Drewery
答案 0 :(得分:5)
我认为你的GameView有画布,因为它是绘制图形,对吧?在这种情况下,如果您完成剩余的绘图,请使用
//canvas.drawText(String text, float x, float y, Paint paint); this is the actual method
canvas.drawText(score, 5, 5, null); //but yours would look more like this
然后你只需要创建“得分”字符串并让游戏更新它。
另外,您可能想尝试addView(View child)。它看起来像这样:
GameView.addView(TextView);
答案 1 :(得分:2)
这里有一点无耻的自我推销,但是如果你偷看Hexaddicus,你会发现我们将屏幕分成游戏视图和页脚,这是一种简单的旧视图。这不是你想要的“外观”,而是 方式。如果你想要更直观的外观和感觉,那么显然你不应该走这条路。
只需不尝试使用您的游戏视图覆盖Android UI小部件。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/control_pane"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:layout_alignParentBottom="true">
</FrameLayout>
<com.sharpermindstech.android.hexaddicus.opengl.views.HexBoardView
android:id="@+id/gamefield"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_above="@id/control_pane" />
</RelativeLayout>