[ActionScript 3.0] AS3 绘制星形
package
{
import flash.display.Sprite;
import flash.events.Event; /**
* @author Frost.Yen
* @E-mail 871979853@qq.com
* @create 2015-9-9 下午4:47:50
*
*/
[SWF(width="1024",height="1024",frameRate="3")]
public class DrawStar extends Sprite
{
public function DrawStar()
{
initViews();
initEventListeners();
}
private function initViews():void
{
draw();
}
private function initEventListeners():void
{
this.addEventListener(Event.ENTER_FRAME,onFresh);
}
private function onFresh(e:Event):void
{
this.removeChildren();
draw();
}
private function draw():void
{
for(var i:int=0;i<64;i++){
var star:Star = new Star(Math.random()*10+2,50,20,Math.random()*255-Math.random()*0xffffff,Math.random()*0xffffff-Math.random()*255,true);
star.x = i%8*100+100;
star.y = Math.floor(i/8)*100+100;
this.addChild(star);
}
}
}
}
import flash.display.Sprite; class Star extends Sprite
{
private var _b:Boolean;
private var _x:Number;
private var _y:Number;
/**
*
* @param len 星形边数
* @param radius1 五角星中心点离较远顶点的距离(可看作五角星外接圆的半径)
* @param radius2 五角星中心点离较近顶点的距离(可看作五角星内接圆的半径)
* @param lineColor 线条颜色
* @param fillColor 填充颜色
* @param isFill 是否填充
*/
public function Star(len:int=5,radius1:Number=50,radius2:Number=20,lineColor:uint=0xff0000,fillColor:uint=0x00ffff,isFill:Boolean=false){
if(len<=1){
trace("星形边数至少为2");
return;
}
this.graphics.lineStyle(1,lineColor);
if(isFill){
this.graphics.beginFill(fillColor)
}
this.graphics.moveTo(radius2,0);
for(var i:int = 1;i<=len*2;i++){
_b?[_x=radius2*Math.cos(i*Math.PI*2/(len*2)),_y=radius2*Math.sin(i*Math.PI*2/(len*2))]:[_x=radius1*Math.cos(i*Math.PI*2/(len*2)),_y=radius1*Math.sin(i*Math.PI*2/(len*2))];
this.graphics.lineTo(_x,_y);
_b=!_b;
}
if(len%2!=0){
this.rotation = 90;
}
}
}
[ActionScript 3.0] AS3 绘制星形的更多相关文章
- [ActionScript 3.0] AS3 绘制12面体
package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; im ...
- [ActionScript 3.0] AS3 3D星形贴图
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.MovieCl ...
- [ActionScript 3.0] AS3 绘制正四面体(线条)
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; im ...
- [ActionScript 3.0] AS3 绘制正八面体(线条)
分析: 将八面体置于3D坐标系中,其中心的坐标位于原点(0,0,0),让八面体的六个顶点恰好位于3D坐标系的x轴.y轴和z轴上,则从八面体的中心到这六个顶点的距离是相等的.我们可以假设这个距离为r,则 ...
- [ActionScript 3.0] AS3 绘制正二十面体(线条)
分析: 正二十面体共有12个顶点.30条棱,其20个面都是正三角形.每条棱所对应的弧度值为1.1071487177940904弧度,这个弧度值可通过求Math.sqrt(5)/5的反余弦值求得.正二十 ...
- [ActionScript 3.0] AS3 绘制立方体
package { import flash.display.Sprite; import flash.events.Event; import flash.geom.Vector3D; import ...
- [ActionScript 3.0] AS3 绘制任意三角形任意顶点到对边的高
注:顶点坐标可以点击 package { import flash.display.Shape; import flash.display.Sprite; import flash.events.Mo ...
- [ActionScript 3.0] as3处理xml的功能和遍历节点
as3比as2处理xml的功能增强了N倍,获取或遍历节点非常之方便,类似于json对像的处理方式. XML 的一个强大功能是它能够通过文本字符的线性字符串提供复杂的嵌套数据.将数据加载到 XML 对象 ...
- [ActionScript 3.0] AS3.0 动态加载显示内容
可以将下列任何外部显示资源加载到 ActionScript 3.0 应用程序中: 在 ActionScript 3.0 中创作的 SWF 文件 — 此文件可以是 Sprite.MovieClip 或扩 ...
随机推荐
- asp.net MVC 自定义@helper 和自定义函数@functions小结
asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们 ...
- Web前端开发笔试&面试_04
>>XDL: 1.在CSS中,选择器的优先级?(如important,id,class 这些……) 2.如何消除行内间隙? Inline-block 3. 如何清除浮动? —— 4. CS ...
- 从代码看 asp.net 处理过程
从这里开始 先是一个 对Com接口的导入. /// <internalonly/> /// <devdoc> /// </devdoc> [C ...
- IT运维管理市场
背景 http://www.cnitom.com/portal.php 中国it运维网 http://www.365master.com it运维网 http://www.51ou.com/ 51运维 ...
- 【转】.NET 安装和部署(Installer) 如何卸载上一个版本
前言 当使用.NET“安装项目”打包的安装文件,再次安装的时候会弹出如下提示,这个时候会让我们很郁闷,怎样才能自动卸载上一个安装的版本呢?方法很简单,只需简单的两个操作步骤即可解决. 操作步骤 主要由 ...
- ASP.NET MVC3在页面上获取当前控制器名称、Action名称以及路由参数
参考:http://ulfqbpl.blog.163.com/blog/static/87783552201272824843607/ 获取控制器名称: RouteData.Values[" ...
- 每天一个linux命令-转载
每天一个linux命令目录 转载自: http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令 ...
- R提高篇(一): 输入输出
目录: 文本输出 图形输出 数据输入 数据框输出 文本导入 Excel导入 文本输出 语法: sink(file = NULL, append = FALSE, type = c("outp ...
- (zt)Lua的多任务机制——协程(coroutine)
原帖:http://blog.csdn.net/soloist/article/details/329381 并发是现实世界的本质特征,而聪明的计算机科学家用来模拟并发的技术手段便是多任务机制.大致上 ...
- linux 编译安装nginx,配置自启动脚本
本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...