0
var bar:Sprite=new Sprite();        
bar.graphics.clear();
var y:*=stage.stageHeight-(el.sprite.height+margin);    
bar.graphics.beginBitmapFill((el.sprite.content as Bitmap).bitmapData);
bar.graphics.drawRect(margin,y,stage.stageWidth-margin*2,el.sprite.height);
bar.graphics.endFill();

el.sprite 是Loader实例。

要重复的图像-x

在此处输入图像描述

我得到奇怪的渲染结果: 在此处输入图像描述

我做错了什么?

更新帖子

在此处输入图像描述 在此处输入图像描述

4

2 回答 2

2

我不确定您要对边距/y 值做什么,但是如果您希望位图在容器内重复,从 x=y=0 开始,那么以下工作:

var bar:Sprite = new Sprite();
bar.graphics.beginBitmapFill((el.sprite.content as Bitmap).bitmapData);
bar.graphics.drawRect(0,0,desiredBarWidth, desiredBarHeight);
bar.graphics.endFill();

对于任何填充/边距,将条放置在容器内并以这种方式定位。当然,如果您使用的是第一张图像(渐变,而不是箭头),您可以简单地执行以下操作:

var bar:Sprite = new Sprite();
bar.addChild(el.sprite.content as Bitmap);
bar.width = desiredBarWidth;

这会将条及其内容拉伸到您指定的任何宽度 - 如果您使用拉伸时不会改变的位图(例如渐变),它可能会更干净和更灵活。

于 2013-03-09T16:59:03.487 回答
0

改成这个,帮了我。但我还是不明白。问题是什么?

bar.graphics.clear();
var y:*=stage.stageHeight-(el.sprite.height+margin);  
bar.graphics.beginBitmapFill((el.sprite.content as Bitmap).bitmapData);
bar.graphics.drawRect(0,0,stage.stageWidth-margin*2,el.sprite.height);
bar.graphics.endFill();
bar.y=y;
于 2013-03-09T16:38:15.970 回答