编写一个横向滚动平台游戏并认为 scrollRect 最适合内存,因为它只渲染矩形而不是整个舞台。我让它以我的英雄为中心并与他一起滚动。我的问题是为矩形创建外边界。if(view.x < 0) 很简单。我锁定了 x 和 y 原点,这是我遇到问题的其他边缘。它在 ENTER_FRAME 上运行,顺便说一句。这是我的代码:
public function ScrollWithHero()
{
var stageW2:Number = stage.stageWidth/2;
var stageH2:Number = stage.stageHeight/2;
var view:Rectangle = new Rectangle(0,0,stage.stageWidth,stage.stageHeight);
if(hero.x - stageW2 > 0){ view.x = hero.x - stageW2; }
if(hero.x + stageW2 > levelWidth){ // stop scrolling the rect }
if(hero.y - stageH2 > 0){ view.y = hero.y - stageH2; }
if(hero.y + stageH2 < levelHeight){ // stop scrolling the rect }
scrollRect = view;
}