2011-08-18 157 views
1

我是Android手机游戏Space STG II的开发者......我想添加到这个游戏中的新选项。要做到这一点,我需要知道如何做可移动屏幕。我想做一个类似英雄的战斗&魔术,但在手机屏幕很小...我不知道开发者只是在地图上显示所有东西的屏幕上的一部分。我想在角落制作一张小地图,显示地图的哪一部分显示在屏幕上。 我找不到它:/我花了2天,我发现只有2d瓷砖移动,但我需要平稳移动。请帮忙。我将给出Space STG II的激活码以寻求帮助。如何在屏幕上只显示地图的一部分

回答

1

如果您正在编写OpenGL代码,它非常容易 - 只需绘制场景并移动相机即可查看您想要的任何位置。滚动意味着移动相机并且会平滑。请注意,平铺方法可以很好地与OpenGL配合使用

如果您使用的是其他2D API,可能并不那么简单。您可以尝试自己查找算法,了解人们如何在小部件中实现滚动(想想人们如何制作listview?)。你会想出一些东西。

编辑:如果你接受这个答案,我并不真的想要你的激活码。不管怎么说,还是要谢谢你。

2

这个问题相当模糊,所以作为回报,我不能回答含糊不清的答案。将这个新功能添加到您的游戏中非常具体,以您如何编写游戏开始。如果你使用不好的编码习惯,这将是非常困难的。从我收集的内容来看,你正试图在许多游戏中的角落添加一张迷你地图。如果你的游戏和视图模型交织在一起,你会遇到问题。如果您使用了模型 - 视图 - 控制器http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller这样的设计模式,那么添加模型的另一个“视图”并将其作为小地图来实现会更容易。对于模糊的答案,我很抱歉,但是我没有其他的工作来看待,因为你有一个具体的问题,没有详细说明你的游戏是如何编写的。

+0

我想到这一点,我不会做迷你地图。对我来说主要问题是做可移动屏幕。我读到,我应该跟踪所有对象的位置,然后将这些坐标转换为屏幕坐标并显示。这是真的吗? – Grzegorz

+0

@Grzegorz这听起来像是唯一的方法。但是你在使用什么2D库? – toto2

+0

在Android上是Java,因此我使用几乎与基于Canvas的Java 2d图形类相同的类。 – Grzegorz