2D世界设计问题

时间:2009-10-19 19:12:07

标签: pseudocode 2d-engine

我遇到的问题可能在游戏设计中非常普遍。

  1. 我们假设我们有一个2D世界
  2. 世界的大小是M x N rect
  3. 世界可能包含一些项目
  4. 项目有(x,y)coords
  5. 可以通过物理(m x n)大的窗口浏览世界。
  6. 浏览器窗口可以放大/缩小
  7. 浏览器窗口可以向上/向下+向左平移,而在世界的矩形范围内。
  8. 我该如何实施?我特别关注浏览器窗口。任何人都可以推荐任何好的读物吗?

    这不是一项功课 - 这是我自己完成的一项任务。

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

实施它就像您使用特殊标记实施Google地图一样。

答案 2 :(得分:1)

基本上,您将一个区域的矩形子集映射到另一个矩形,即。浏览器窗口。这基本上只是两个操作 - 一个是平移,将观察区域定位在世界中,然后是缩放之一,以获取任意可视区域并将其缩放到窗口。与此分开是放大和缩小的问题,这实质上是修改了查看区域的大小。

在游戏开发中,有几种方法可以解决这个问题。通常,您可以自定义视图投影以显示您需要的世界(例如,从世界坐标转换到查看坐标,通常是正交投影),并简单地翻译世界或视图以放置视口,使其成为指向你想要看到的东西。如果您正确设置了对象的位置,3D硬件将绘制您期望的内容。

答案 3 :(得分:0)

你可能能够使用dhtml,但闪存或silverlight将更容易实现这样的东西。

查看google maps背后的代码,获取一些灵感。他们正在做与纯HTML相似的事情。