好的,所以我正在建造太空游戏。图像的阶段是500乘500,但是实际的地图要大得多,即4000乘4000.当你移动宇宙飞船(居中)时,你会在(4000比4000像素)地图上移动。
我正在使用flash IDE和flash develop。
实现这一目标的最佳方法是什么。教程链接将不胜感激。
感谢, 丹尼尔
答案 0 :(得分:3)
按照以下公式定位容器:
x = -player.x + stage.stageWidth / 2;
y = -player.y + stage.stageHeight / 2;
你会注意到无论玩家的位置如何,玩家总是以屏幕为中心。
概述:
假设您的播放器位于:x:120
y:100
。以上将按照以下步骤移动容器:
x:120
和负y:100
。这会导致玩家出现在舞台的左上角。我已经做了一个快速示例,可以在这里找到:http://junk.projectavian.com/env.zip
答案 1 :(得分:1)
在这种情况下,我会使用blitting技术来优化这种大位图渲染。看一下本教程:Tutorial on Fast Photo Scrolling for the iPad。它显示了使用copyPixels()方法而不是依赖于显示列表可以获得多少收益。这个想法类似于@Marty所说的,但它使用更快的渲染方法。