【发布时间】:2014-03-20 02:12:31
【问题描述】:
我的问题有点模糊,所以让我详细说明一下。我是一名初学者程序员,正在开发我的第一个 Flash 游戏,就这个问题而言,它是一个横向滚动平台游戏,例如 mario。不过,与传统平台游戏不同的是,关卡将无限期地持续下去,直到玩家死亡或退出游戏。该级别是基于瓷砖的,将通过一个数组自动生成,该数组指定每个瓷砖中的对象(如果没有对象,则为 0)。为了确保我的游戏不会因过多的对象而自动崩溃,我将在玩家前进时生成更多的地图(通过创建新的对象实例),以便当玩家向右移动时,地图会在刚刚超过边缘的边缘生成屏幕。
现在回到手头的问题,我猜一旦玩家到达游戏中的某个点,它就会开始放慢速度,因为正在创建越来越多的对象。 我认为这个问题的解决方案是随着玩家的进展移除屏幕左侧的实例,但问题是我需要玩家能够返回关卡。
所以我的问题是:我怎样才能从内存中“删除”或删除实例,这样我的游戏才不会变慢,而且当玩家移动到该实例所在位置的某个附近时(或是)。
注意:目前,除了玩家之外,我在游戏中唯一的对象是“墙”对象,其所有实例都存储在“墙阵列”数组中,我目前仅用于引用墙的实例以进行碰撞检测
【问题讨论】:
-
您是否只在玩游戏期间或在游戏会话之间保留有关屏幕外对象的信息? I.o.w.,你想让玩家明天从他们今天离开的地方重新开始游戏吗?
-
你必须明白,即使你可以通过从游戏中移除元素来节省 CPU 周期,你也只能存储你的 RAM 所能容纳的关于访问区域的尽可能多的信息。从那里,您可以将这些数据传递到 HD 上的文件或某个数据库。
标签: actionscript-3 flash