加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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的使用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读