我在 Starling 精灵上绘制图形,我在擦除背景上的线条时遇到了问题。在 flex 上,我使用 graphics.lineBitmapStyle()
了我的背景Image
作为Bitmap
来源lineBitmapStyle()
并在其上方画了另一条线,所以我擦除了。现在 Starling 也有同样的问题,我找不到lineBitmapStyle()
使用它。
问问题
433 次
1 回答
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 框架类。
于 2013-05-07T10:36:04.947 回答