·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]基于AS3语言绘制空心图形的方法汇总附源代码

时间:2015-09-27 11:18酷播
本文以矩形为例进行说明,以下方法都可以生成一个尺寸是50x50,边框宽度为2的红色空心矩形,代码比较相似

本文以矩形为例进行说明,以下方法都可以生成一个尺寸是50*50,边框宽度为2的红色空心矩形,代码比较相似。
方法一、
var stamp:BSprite = new BSprite();
stamp.graphics.beginFill(0xff0000, 1);
stamp.graphics.drawRect(0, 0, 50, 50);
stamp.graphics.drawRect(2, 2, 46, 46);
stamp.graphics.endFill();
酷播官方cuplayer.com提示:这种方法绘制的矩形外围边框有像素,里面是透明的但无像素,因此里面无法感知鼠标事件。

方法二、

var stamp:BSprite = new BSprite();
stamp.graphics.beginFill(0xff0000, 0); //填充里面的像素,填充范围为边框所圈起来的部分,去掉本行则里面无像素填充
stamp.graphics.lineStyle(2, 0xff0000, 1, true);
stamp.graphics.drawRect(0, 0, 48, 48); //由于边框设置为2,此处应该减去
stamp.graphics.endFill();
酷播官方cuplayer.com提示:这种方法绘制的矩形外围边框有像素,里面是透明的但也有像素(第二行存在时),因此里面可以感知鼠标事件。使用本方法由于设置了边框为2,所以绘制的时候要减去2才能绘制出50*50的图形。

方法三、
var stamp:BSprite = new BSprite();
stamp.graphics.beginFill(0xff0000, 0); //填充里面的像素,填充范围为边框所圈起来的部分,去掉本行则里面无像素填充
stamp.graphics.lineStyle(2, 0xff0000, 1, true);
stamp.graphics.moveTo(0, 0);
stamp.graphics.lineTo(48, 0); //由于边框设置为2,此处应该减去
stamp.graphics.lineTo(48, 48);
stamp.graphics.lineTo(0, 48); //绘制到此处时会自动连接到起始点形成封闭图形,剩余一条线可省去,但前提是第2行存在的情况下,否则不会自动封闭图形
stamp.graphics.endFill();
酷播官方cuplayer.com提示:这种方法绘制的矩形外围边框有像素,里面是透明的但也有像素(第二行存在时),因此里面可以感知鼠标事件。使用本方法由于设置了边框为2,所以绘制的时候要减去2才能绘制出50*50的图形。使用线条绘制,优点是灵活,可以绘制出各种图形,缺点是代码量比较大,但对于api里面没有提供绘制方法的图形这是很好的方法。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器