AS3 - 游戏 - 概念推荐

时间:2011-11-23 22:59:45

标签: actionscript-3 oop

好的,所以我正在建造太空游戏。图像的阶段是500乘500,但是实际的地图要大得多,即4000乘4000.当你移动宇宙飞船(居中)时,你会在(4000比4000像素)地图上移动。

我正在使用flash IDE和flash develop。

实现这一目标的最佳方法是什么。教程链接将不胜感激。

感谢, 丹尼尔

2 个答案:

答案 0 :(得分:3)

  1. 将游戏内容(包括播放器)添加到容器中。
  2. 按照以下公式定位容器:

    x = -player.x + stage.stageWidth / 2;
    y = -player.y + stage.stageHeight / 2;

  3. 你会注意到无论玩家的位置如何,玩家总是以屏幕为中心。

    概述:

    假设您的播放器位于:x:120 y:100。以上将按照以下步骤移动容器:

    1. 容器移至负x:120和负y:100。这会导致玩家出现在舞台的左上角。
    2. 然后将容器移到舞台宽度的一半,将舞台高度降低一半,将播放器放在屏幕的中央。
    3. 我已经做了一个快速示例,可以在这里找到:http://junk.projectavian.com/env.zip

答案 1 :(得分:1)

在这种情况下,我会使用blitting技术来优化这种大位图渲染。看一下本教程:Tutorial on Fast Photo Scrolling for the iPad。它显示了使用copyPixels()方法而不是依赖于显示列表可以获得多少收益。这个想法类似于@Marty所说的,但它使用更快的渲染方法。