Flash小玩意图案创作:增加太阳花图案
制作完成,初步的太阳花图案已经完成。采用编程的方式就可以调用出这个图案出来。
// 该类为太阳花图案绘制 //vesion 1.0 //author 夏天的树人 package org.summerTree.graphics { import flash.geom.Point; public class SunFlower extends Base { private var LineColor:uint=0x000000;//默认是黑色 public function SunFlower() { } public function clone():SunFlower { return new SunFlower(); } //创建太阳花 /*@ *@ *@ *@ *@ */ public function CreatSunFlower(radius:Number,n:Number=10,fillColor:Number=0xFFFF00,alpha:Number=1):void { if(n<=0) return; this.graphics.lineStyle(1,color); this.graphics.drawCircle(0,0,radius); var angle:Number=2*Math.PI/n; var Length:Number=getLength(radius,angle); trace(Length) for(var i:int=0;i<n;i++) { var point:Point=Point.polar(radius,i*angle); this.graphics.beginFill(fillColor,alpha); this.graphics.drawCircle(point.x,point.y,Length); this.graphics.endFill(); } this.graphics.beginFill(0xffffff,1); this.graphics.drawCircle(0,0,radius); this.graphics.endFill(); CreatFace(radius); CreatBody(radius); } //计算出两个圆的连线长度,即计算出单个圆的半径 private function getLength(radius:Number,angle:Number):Number { var Length:Number; Length=2*radius*radius-2*radius*radius*Math.cos(angle); return Math.sqrt(Length)/2; } //创建表情 private function CreatFace(radius:Number):void { this.graphics.beginFill(0x000000,1); this.graphics.drawCircle(radius/3,-radius/8,radius*0.05); this.graphics.endFill(); this.graphics.beginFill(0x000000,1); this.graphics.drawCircle(-radius/3,-radius/8,radius*0.05); this.graphics.endFill(); this.graphics.moveTo(radius/2,-radius/5); this.graphics.lineTo(radius/8,-radius/5); this.graphics.moveTo(-radius/2,-radius/5); this.graphics.lineTo(-radius/8,-radius/5); //嘴巴 this.graphics.moveTo(-radius/3,radius/2); this.graphics.lineTo(radius/3,radius/2); } //创建身体 private function CreatBody(radius:Number):void { //创建身体 this.graphics.moveTo(0,radius); this.graphics.lineTo(0,3*radius); //创建手 this.graphics.moveTo(0,1.5*radius); this.graphics.lineTo(-radius*0.8,1.8*radius); this.graphics.drawCircle(-radius,1.9*radius,radius/5); this.graphics.moveTo(0,1.5*radius); this.graphics.lineTo(radius*0.8,1.8*radius); this.graphics.drawCircle(radius,1.9*radius,radius/5); //创建脚 this.graphics.moveTo(0,3*radius); this.graphics.lineTo(-0.5*radius,3.5*radius); this.graphics.lineTo(-0.5*radius,4*radius); this.graphics.lineTo(-radius,4*radius); this.graphics.moveTo(0,3*radius); this.graphics.lineTo(0.5*radius,3.5*radius); this.graphics.lineTo(0.5*radius,4*radius); this.graphics.lineTo(radius,4*radius); //this.graphics.moveTo(-radius,3*radius); //this.graphics.moveTo(radius,3*radius); } //设置颜色 public function set color(value:uint):void { this.LineColor=value; } //获取颜色 public function get color():uint { return this.LineColor; } //清除图像 public function clear():void { this.graphics.clear(); } } }
大概用法很简单
初步用法
//创建太阳花图案 var flower:SunFlower=new SunFlower(); flower.CreatSunFlower(30,10); flower.move(260,100); addChild(flower);
//图形的基础类 //author 夏天的树人 //vesion 1.0 package org.summerTree.graphics { import flash.display.Sprite; public class Base extends Sprite { private var LineColor:uint=0x000000;//默认是黑色 public function Base() { } //设置坐标 public function move(x:Number,y:Number):void { this.x=x; this.y=y; } //设置颜色 public function set color(value:uint):void { this.LineColor=value; } //获取颜色 public function get color():uint { return this.LineColor; } } }
当中Base 类 继承了Sprite类,作为Sprite的一个子类,同时扩展了一个move(x,y)的办法,用于书写坐标的时候使用的。这个方法也是比较喜欢的一种办法。
我们采用描点和描线办法制造。
这个做法比较笨拙一点,采用覆盖多余线条的地方 ,虽然实现了图案,但是有多余的线条在这里面。并不是最优的方法。
不过创作起来也多一种路径实现。
可以在到我那个闪盘进行下载。
Flash小玩意图案创作:增加太阳花图案相关推荐
- ps 如何增加 填充图案
ps 如何增加 填充图案 ps能够用来填充的图案太少,在网上下了几个,但是不知道怎么安装,知道的人告诉下,谢谢! 答案: 首先在PS中打开你要作为填充图案的图片,然后点击菜单中的编辑---定义图案-- ...
- R语言ggpattern填充各种色彩、形状、纹理、图片到ggplot2可视化图像:图案填充列表、饼图图案填充、柱状图图案填充
R语言ggpattern填充各种色彩.形状.纹理.图片到ggplot2可视化图像:图案填充列表.饼图图案填充.柱状图图案填充 目录
- 编程实现如下图案:菱形的‘‘ * ‘‘图案
解决此图案先将该图案分为上下两部分 第一部分 上一部分的图案就是一个类似等腰三角的图案,因此使用for循坏语句,将其打印出 for (i = 0; i < 4; i++) {for (j = 0 ...
- Flash小玩意图案创作:demo(一)
今天做了一个简单的demo ,借用了一些简单图案来进行创作.都是一些常见的图案.但是离实用还是存在很多距离. 还是有待多进行几次实验.
- Flash小玩意图案创作:新增MulCircle和圆环
利用余弦定理求出圆上的圆的半径是多少,然后输出这种圆环圆的效果图. public function CreatMulCircle(radius:Number,count:Number=10,fillC ...
- 里如何调整字体间距_ai如何填充图案?ai填充图案怎么调整间距?
使用图案进行填充相关技巧教程: 如果您经常使用Illustrator,那么您可能不会对基本的颜色混合感到满意.您将要创建自定义模式,以使您的对象更深或更有趣.您可以使用从其他程序创建或导入的对象或艺术 ...
- python教程长城图案,Python编写万花尺图案实例
小的时候大家应该都玩过万花尺,将笔尖放置万花尺内不停的转动,便可以画出一幅精致的线稿图,现在我们不用万花尺,我们通过Python也能绘制出万花尺图案. (一)代码 #!/usr/bin/python# ...
- cad填充图案乱理石_CAD图案填充应该这么操作!简单又高效!!!1分钟就能学会...
我们经常会看到CAD图纸中,一些特殊的区域会被图案填充,以方便我们后续的绘图和看图,填充的方法有很多,不过不少初学的小伙伴们对这一块可能还不太了解,今天小编就来分享一下最简单的CAD图案填充办法以及遇 ...
- php编辑菱形图案代码,打印菱形图案 (15 分)
打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号"* ...
最新文章
- 为什么用Go编写机器学习的基础架构,而不是Python?
- extjs 中iframe内存泄漏的问题
- 【Ubuntu入门到精通系列讲解】文件和目录常用命令速查
- 主线程等待线程池所有任务完成
- mysql 生明变量_在 MySQL 的 SQL 文件中,定义变量与使用变量
- mongodb数据可视化_使用MongoDB实时可视化开放数据
- Cloudera Manager 术语和架构
- 天池-新闻推荐-Baseline
- 入职必备两小时入门SVN(二)
- 麦克纳姆轮斜向运动奥秘的根源
- linux下c程序 daemon、fork与创建pthread的顺序问题
- 四川电信在广元市建大数据中心
- AR/VR learning (3)--物体的运动与动画(iTween插件的使用)
- CCS各个版本软件的下载及安装说明(内涵有详细获取安装包以及步骤奥)
- QuickZIP V1.21 源码 【学习SharpZipLib的必看!】【以SharpZipLib为基础完成】【VB.Net】
- Camera摄像头模组硬件
- 低压差线性稳压器简介
- 四步,用python实现一辆自动驾驶的小车
- 2022一建四色笔记
- 酒精测试仪检测方法分析