StarlingManual:动态纹理
来自Starling中文站
Starling允许大家动态的直接创建自定义纹理。但是我们没有为这个特性重新发明轮子。Starling只是简单的利用了flash强大的矢量能力。 对于矢量内容,Flash提供Graphics类。大家可以通过访问这个类来绘制任何sprite或shape。
var shape:Shape = new Shape(); shape.graphics.beginFill(Color.MAROON); shape.graphics.drawCircle(50, 50, 30); shape.graphics.endFill(); shape.filters = [ new DropShadowFilter() ];
我们只是创建了一个简单的带有投影的红色圆形。但是这个对象不能显示到Starling的显示列表——毕竟,他是flash的显示对象。 但是我们可以将这个形状绘制到一个位图然后从位图创建一个纹理!
var bmpData:BitmapData = new BitmapData(100, 100, true, 0x0); bmpData.draw(shape); var texture:Texture = Texture.fromBitmapData(bmpData); var image:Image = new Image(texture); addChild(image);
这是一个非常强大的技术,因为所有的flash显示对象都可以绘制到位图!只要记住每帧创建一个位图会很慢,所以这项技术并不适合来创建动态的动画。