我想画线,就像图形 API 一样,只是它将由给定纹理的 block 组装而成(“lineChunk.png”)
block 会很小,以便在需要时可以通过线路的路径旋转它。
目的是让用户使用 mouseMove 创建纹理线。
我尝试过“手动”进行绘制,但是当快速绘制时,两点之间的距离很大,因此需要使用 while 循环来缩小间隙,这会显着减慢速度。
“graphics.lineBitmapStyle”没有帮助,也没有达到此目的。
有什么建议吗?
最佳答案
设置图形线条样式为:
lineBitmapStyle(bitmapData);
这指定了绘制线条时用于线条描边的位图。
ActionScript 3.0 Reference for Graphics
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Graphics;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;
public class X extends Sprite
{
protected var bitmapData:BitmapData;
protected var loader:Loader = new Loader();
public function X()
{
super();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest("lineChunk.png"));
}
protected function completeHandler(event:Event):void
{
bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;
var g:Graphics = graphics;
g.lineStyle(10);
g.lineBitmapStyle(bitmapData);
g.moveTo(0, 0);
g.lineTo(100, 100);
/* ... */
}
}
}
关于actionscript - 在 ActionScript 3 中使用线条绘制纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11177822/