flash绘图API:绘制三角形
发布时间:2020-12-15 06:29:57 所属栏目:百科 来源:网络整理
导读:? ? 绘图Api里面有一个drawTriangles 的方法,是比较让人着迷的APi ,通过使用这个方法,可以实现很多应用技巧。特别是填充方面可以变化出很多让人惊讶的效果。 这些都是依赖这个强大API。 ? 下面通过这个APi 来实现绘制一个三角形,对比原始的方法,使用Mov
? ? 绘图Api里面有一个drawTriangles 的方法,是比较让人着迷的APi ,通过使用这个方法,可以实现很多应用技巧。特别是填充方面可以变化出很多让人惊讶的效果。 这些都是依赖这个强大API。 ? 下面通过这个APi 来实现绘制一个三角形,对比原始的方法,使用MoveTo 和LineTo 两个组合就可以实现了绘制的目的,然而既然有新玩法,就得花点时间去试试这个新玩意。 下面通过调用这个Api来实现绘制一个三角形。我们需要存入一组坐标点即可实现了这个绘制的目的。 import flash.display.Shape; var shape:Shape=new Shape(); addChild(shape); shape.x=100; shape.y=100; shape.graphics.lineStyle(0); var ver:Vector.<Number>=new Vector.<Number>(); ver.push(200,0); ver.push(0,200);//记录坐标x,y坐标点 ver.push(400,200); shape.graphics.beginFill(0x333333); shape.graphics.drawTriangles(ver); shape.graphics.endFill(); 效果图像都出来了,可是要是这样简单完事了,就浪费了这个API的潜力。背后的功能还是可以绘制不紧紧三角形,因为这个是一个基础。 利用这个api 进行对位图填充,可以尝试到一些效果出来。 import flash.display.Shape; var shape:Shape=new Shape(); addChild(shape); shape.x=100; shape.y=100; shape.graphics.lineStyle(0); var ver:Vector.<Number>=new Vector.<Number>(); for(var i:int=0;i<9;i++) { var px:Number=(i%3)*100; var py:Number=int(i/3)*100; ver.push(px,py); } var indexes:Vector.<int>=new Vector.<int>(); indexes.push(0,1,3); indexes.push(1,3,4); indexes.push(1,2,4); indexes.push(2,4,5); indexes.push(3,6); indexes.push(4,6,7); indexes.push(4,5,7); indexes.push(5,7,8); var uvtData:Vector.<Number>=new Vector.<Number>(); uvtData.push(0,0.5,0); uvtData.push(0,0.5); uvtData.push(0,1); shape.graphics.beginBitmapFill(new Man2()); shape.graphics.drawTriangles(ver,indexes,uvtData); shape.graphics.endFill();
现在把一张位图进行填充到 一个三角形当中去了。在我学习这个APi的过程当中,我发现可以尝试采用列举点办法进行描点,这样一来可以一步步了解这个api的使用。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |