易截截图软件、单文件、免安装、纯绿色、仅160KB

flash 绘图API:绘制一棵树


 这个程序是从2.0 改过来的,是网上一个程序,只是修改了一些内容,变成这种情况。这几天没有写程序,有点懒惰。于是今天又补充这种不错的应用。这个程序采用的是绘图API 最基本的绘制线,但是对其进行一些修改,使他产生上面的效果。漂亮不?呵呵,我都觉几漂亮,
作为绘图API 一个内容补充吧。
好,闲话不说。看代码
package
{
//绘制一棵树
import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.*;
public class Main extends Sprite
{
private var shape:Sprite=new Sprite();
public function Main()
{
addChild(shape);
CreatTree(shape.graphics,300, 460, 90, 180,6);
CreatTree(shape.graphics,300, 400, 45, 130,6);
CreatTree(shape.graphics,300, 400, 135, 130,6);
}
//绘图对象,基本坐标px,py,角度,偏移长度,数量
private function CreatTree(g:Graphics,px:Number,py:Number,angle:Number,len:Number,n:int):void
{
if (n>0)
{
var x1:Number=px+0.1*len*Math.cos(angle*Math.PI/180);
var y1:Number=py-0.1*len*Math.sin(angle*Math.PI/180);
var x2:Number=px+len*Math.cos(angle*Math.PI/180);
var y2:Number=py-len*Math.sin(angle*Math.PI/180);
drawLine(g,n-1,px,py,x2,y2);
var a_l:Number = angle+30;
var a_r:Number = angle-30;
len = len*2/3;
CreatTree(g,x2, y2, angle-Math.random()*10,len, n-1);
CreatTree(g,x1, y1, a_l,len*2/3, n-1);
CreatTree(g,x1, y1, a_r, len*2/3,n-1);
CreatTree(g,x2, y2, a_l,len*2/3, n-1);
CreatTree(g,x2, y2, a_r,len*2/3, n-1);
}
}
//绘制线
private function drawLine(g:Graphics,n:int,x1:Number,y1:Number,x2:Number,y2):void
{
g.lineStyle(n,0);
g.moveTo(x1,y1);
g.lineTo(x2,y2);
}
}
}
修改一部分内容,下面会变成下面的形状。为什么?可以尝试一下,由于程序只是对as  2.0 修改来的,所以这种绘制树的形状很不错。
当一种知识点来补充一下。这个程序采用递归的方式制作的。阅读的时候仅仅看看内容就行。其他就不用多方式进行。呵呵
好,暂时记录一下。


相关文档:

Flash与VC的通信方法 串口 用VC和Flash控件实现

Flash与VC的通信方法 串口 用VC和Flash控件实现无锯齿矢量图形绘制,可以绘制实时曲线
2009-03-05 08:39
我们知道,Flash可以做出很炫很酷的界面,且都是矢量图形,所以我们这里可以通过Active X控件shockwave Flash object将Flash嵌入到VC中,用控件与VC接口对Flash进行操作,如实时读取数据并作图类似的程序 ......

WinForm中捕捉Flash按钮、菜单等动作事件

由于我的那个《求flash控件的属性及事件方法在C#中》帖子由于我自己的回复超过3次,无法浮出水面了。  
  今天经过细心的观察网络的例子,明白了一些flash和C#的交互。把经验分享。  
  例子:  
  private   void   axShockwaveFlash1_FSCommand(object   sender, &nbs ......

C#与Flash交互

C#与Flash交互 (转自小磊在线)
C#与Flash交互
前段日子公司要求做一个C#与Flash交互的东西,用来C#与短信猫通讯将数据传到Flash上显示与操作的应用。
第一步C#添加组件
打开VS2005-工具-选择工具箱项-COM组件-选择Shockwave Flash Object-确定
添加好组件往场景上拖放,如果提示注册需求注册
c# 注册控件-在运行输 ......

introduction to DRAM, Flash,NAND

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的
时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM分为两类:一种是静态的RAM(SRAM),另外的一种是动态RAM(DRAM),二者的区别是SRAM的速度要比DRAM的速 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号