我在这里遇到了一个严重的问题:我的滚动背景是1320 x 1000大。我正在使用精灵作为容器,我的背景画布放在其中。另外,我在背景精灵中添加(通过addChild)一个分数精灵(持有bg画布的精灵,以便分数显示在bg画布的顶部)。
目标是当我添加一个分数时,它应该粘在背景上(即使滚动正确移动;它应该在背景上有一个固定的位置)。
问题是这不起作用,因为当分数出现时,它会随着滚动而移动,这不是我想要的。我已经尝试过使用globalToLocal,但还没有成功。可能是因为我不太了解globalToLocal(反之亦然)。请问有人可以帮我解决这个问题吗?提前致谢。
以下是一些代码摘录:
private var backgroundBitmapData:BitmapData = new BitmapData(1320, 1000, false, 0x000000);
private var canvasBitmapData:BitmapData = new BitmapData(1320, 1000, false, 0x000000);
private var canvasBitmap:Bitmap = new Bitmap(canvasBitmapData);
private var canvasRect:Rectangle = new Rectangle(0, 0, 660, 500);
private var backgroundSprite:Sprite = new Sprite();
backgroundSprite.scrollRect = new Rectangle(0, 0, 660, 500);
canvasBitmap.scrollRect = new Rectangle(330, 250, 660, 500);
backgroundSprite.addChild(canvasBitmap);
backgroundSprite.cacheAsBitmap = true;
addChild(backgroundSprite);
tempScoreText = new ScoreTextField(String(10), textFormat, oldAstX, oldAstY, 20);
scoreTexts.push(tempScoreText);
backgroundSprite.addChild(tempScoreText);
答案 0 :(得分:1)
我把一个示例放在一起,看看我是否能看到你正在经历的东西,但我不认为我看到了同样的事情,因为这个例子看起来像是应该的。这是我的示例:
var backgroundBitmapData:BitmapData = new BitmapData(1320, 1000, false, 0x000000);
var canvasBitmapData:BitmapData = new BitmapData(1320, 1000, false, 0xff0000);
var canvasBitmap:Bitmap = new Bitmap(canvasBitmapData);
var canvasRect:Rectangle = new Rectangle(0, 0, 660, 500);
var backgroundSprite:Sprite = new Sprite();
backgroundSprite.scrollRect = new Rectangle(0, 0, 660, 500);
canvasBitmap.scrollRect = new Rectangle(330, 250, 660, 500);
backgroundSprite.addChild(canvasBitmap);
backgroundSprite.cacheAsBitmap = true;
addChild(backgroundSprite);
var tempScoreText = new TextField();
tempScoreText.text = "temp score";
backgroundSprite.addChild(tempScoreText);
this.stage.addEventListener(MouseEvent.MOUSE_MOVE, function(event):void {
backgroundSprite.scrollRect.x = mouseX;
backgroundSprite.scrollRect.y = mouseY;
});
如果这不是你想要的,也许你可以为我上传一个 swf ,这样我就可以看到你看到了什么?也许 SOF聊天也是有序的。我以前被困住了,而且人们帮助了我所以这只是我向前付钱。
答案 1 :(得分:0)
如果您希望项目使用滚动矩形滚动:
stage.addChild(item)
如果您希望该项目具有粘性,则只能使用
addChild(item)
并使用
root.scrollRect