欢迎大家来到这里,在这里,我要向大家宣告一件事情,我将会送给你们每一个人一朵玫瑰,请好好保管好它,因为它里面包含我的温暖。 我相信你会喜欢上!
------ 夏天的树人
马上送上
第一朵玫瑰:
第二朵玫瑰:
第三朵玫瑰:
第四朵玫瑰:
第五朵玫瑰:
第六朵玫瑰:
第七朵玫瑰:
原来我很想送给你第8,第九朵玫瑰,不过你一定会告诉我,这不是玫瑰,而是一个心动。
我们要知道,玫瑰花总是带着一阵阵的方香,会引来无数的蝴蝶和蜜蜂,正因为如此,我们还是把它送给你最爱的人--玫瑰花香。
花香制作材料:也许你会问,我现在就是要制作这种花香,那么我现在就送给你一道配方。我
配方材料:需要一条公式:玫瑰线的公式
玫瑰线,极坐标方程
p=a *sin(n*angle)//n为花瓣。n 可以是奇数,也可以是偶数
p=a *cos(n*angle)//n为花瓣
准备好这个材料,我们开始熬我们的药了。
初步的绘制线的办法,如下
//绘制玫瑰线
public function drawRose(r:Number,angle:Number,num:int):void
{
var len:Number=r*Math.sin(num*angle);
var point:Point=Point.polar(len,angle);
drawPoint(point);
}
//描点
private function drawPoint(point:Point):void
{
this.graphics.lineStyle(1);
this.graphics.lineTo(point.x,point.y);
}
}
我们采用,描点法,采用极坐标法,来实现我们的点绘制;
总的药方在这里:
import flash.display.Sprite;
import flash.events.*;
public class Main extends Sprite
{
private var obj:Rose;
private var angle:Number=0;
public function Main()
{
init();
}
private function init():void
{
obj=new Rose();//创建玫瑰线对象
obj.CreatRose(200,2);
obj.x=stage.stageWidth/2;
obj.y=stage.stageHeight/2;
addChild(obj);
//addEventListener(Event.ENTER_FRAME,Run);
}
// private function Run(event:Event):void
// { angle++;
// if(angle>360*8)
// { angle=0;
// removeEventListener(Event.ENTER_FRAME,Run);
// }
// else
// {
// //angle=(angle> 360 ? 0:angle++);
// obj.drawRose(200,angle,8);
// }
//
// }
}
}
//玫瑰线绘制
import flash.display.Sprite;
import flash.geom.Point;
internal class Rose extends Sprite
{
public function Rose()
{
this.graphics.moveTo(0,0);
}
//创建2D的玫瑰线
public function CreatRose(r:Number,num:int):void
{
var rad:Number=1*Math.PI/180;//角度
for (var j:int=0; j<=360; j++)
{
var len:Number=r*Math.sin(num*rad*j);
var point:Point=Point.polar(len,rad*j);
drawPoint(point);
}
}
//绘制玫瑰线
public function drawRose(r:Number,angle:Number,num:int):void
{
var len:Number=r*Math.sin(num*angle);
var point:Point=Point.polar(len,angle);
drawPoint(point);
}
//描点
private function drawPoint(point:Point):void
{
this.graphics.lineStyle(1);
this.graphics.lineTo(point.x,point.y);
}
}
到目前为此,你应该掌握了这种办法,现在我们继续打开我们的法宝去实现另外一个一种配置方案:
我相信你会喜欢我提供的方法:通过动画的方式来进行
import flash.display.Sprite;
import flash.events.*;
public class Main extends Sprite
{
private var obj:Rose;
private var angle:Number=0;
public function Main()
{
init();
}
private function init():void
{
obj=new Rose();//创建玫瑰线对象
//obj.CreatRose(200,2);
obj.x=stage.stageWidth/2;
obj.y=stage.stageHeight/2;
addChild(obj);
addEventListener(Event.ENTER_FRAME,Run);
}
private function Run(event:Event):void
{
angle++;
if (angle>360*2)
{
angle=0;
removeEventListener(Event.ENTER_FRAME,Run);
}
else
{
obj.drawRose(200,angle,2);
}
}
}
}
//玫瑰线绘制
import flash.display.Sprite;
import flash.geom.Point;
internal class Rose extends Sprite
{
public function Rose()
{
this.graphics.moveTo(0,0);
}
//创建2D的玫瑰线
public function CreatRose(r:Number,num:int):void
{
var rad:Number=1*Math.PI/180;//角度
for (var j:int=0; j<=360; j++)
{
var len:Number=r*Math.sin(num*rad*j);
var point:Point=Point.polar(len,rad*j);
drawPoint(point);
}
}
//绘制玫瑰线
public function drawRose(r:Number,angle:Number,num:int):void
{
var len:Number=r*Math.sin(num*angle);
var point:Point=Point.polar(len,angle);
drawPoint(point);
}
//描点
private function drawPoint(point:Point):void
{
this.graphics.lineStyle(1);
this.graphics.lineTo(point.x,point.y);
}
}
配方完成
好,现在的配方已经完成了。马上拿给它送给你心爱的人。
接下来我们可以添加我们所希望的滤镜进行润色。然后就可以变成了上面的图案,至于怎样?这里就留一个关子
发挥你们想象空间。