Starling上是否有graphics.lineBitmapStyle()或替代方法

时间:2013-05-07 09:56:38

标签: html actionscript-3 flex starling-framework

我在Starling sprite上绘制图形,我在背景上擦除线条时遇到问题。 在flex上,我使用graphics.lineBitmapStyle()我的背景ImageBitmap的{​​{1}}来源,并在其上方画了另一条线,所以我擦除了。 现在Starling中的问题和我没有找到lineBitmapStyle()来使用它。

1 个答案:

答案 0 :(得分:1)

您仍然可以使用经典的Flash DisplayObject功能,因此您可以动态创建Starling对象的纹理!这很简单。
创建位图:

var bitmapData:BitmapData = Bitmap(YourBitmapData);
var shape:Shape = new Shape();
var g:Graphics = shape.graphics;
g.lineStyle(10);
g.lineBitmapStyle(bitmapData);
g.moveTo(0, 0);
g.lineTo(100, 100);

现在用它创建纹理:

var textureData:BitmapData = new BitmapData(100, 100, true, 0x0);
textureData.draw(shape);

var texture:Texture = Texture.fromBitmapData(textureData);
var image:Image = new Image(texture);
addChild(image);

TextureImage是Starling框架类。