我在Starling sprite上绘制图形,我在背景上擦除线条时遇到问题。
在flex上,我使用graphics.lineBitmapStyle()
我的背景Image
是Bitmap
的{{1}}来源,并在其上方画了另一条线,所以我擦除了。
现在Starling中的问题和我没有找到lineBitmapStyle()
来使用它。
答案 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);
Texture
和Image
是Starling框架类。