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

Flash与数学:心形线


  当初看到这些线的时候 是在一个数学的网上,今天也动手弄了一个心形线。内容其实很简单,没有什么花俏的东西,但是利用极坐标方程可以结合flash 当中,同样也会使用极坐标的方程绘制玫瑰线。由于能力有限,还是一步步来吧。
今天学了这个东西。我们把公式粘贴上,都可以网上搜索到
//四种方向心形线
 r=a*(1+cos(angle))
 r=a*(1-cos(angle))
 r=a*(1+sin(angle))
 r=a*(1-sin(angle))
这四种的极坐标方程,有了这个方程之后,我们可以借助这种方程来实现绘制一个心形。我懒得一点没有填充颜色,有兴趣可以补充。
这次我们使用的Point类当中一个极坐标转换的方法来描点。
var point:Point=Point.polar(r,angle);//极坐标转换笛卡尔坐标
这个方法可以将极坐标转换我们常用的坐标系。这样我们可以利用绘图api 描绘每一个点。
我们利用这个方法,将他做一个简单描点动画。如下代码
其中每一个公式里面心形的方向也不会相同的。
不妨自己可以测试一下。好,累了 马上睡觉。第二天再补充。
package
{
//四种方向心形线
//r=a*(1+cos(angle))
//r=a*(1-cos(angle))
//r=a*(1+sin(angle))
//r=a*(1-sin(angle))
import flash.display.Sprite;
import flash.events.*;
import flash.geom.Point;
import flash.display.Graphics;
import flash.display.Bitmap;
import flash.display.BitmapData;
public class Main extends Sprite
{
private var pen:Sprite=new Sprite();
private var bmp:BitmapData;
private var n:int=0;//数量
private var maxStep:int=100;

public function Main()
{
addChild(pen);
addEventListener(Event.ENTER_FRAME,Run);
}
//绘制心形线
private function Run(event:Event):void
{

(n<=maxStep) ? drawHeart(n,100,new Point(250,200)) : stopDraw();
n++;
}

//停止绘制
private function stopDraw():void
{
removeEventListener(Event.ENTER_FRAME,Run);
trace("停止");
}

//绘制心形
private function drawHeart(num:int,radius:Number,p:Point):void
{
var angle:Number =2*Math.PI /maxStep * num;
var r:Number = radius*(1+Math.sin(angle));//公式
var point:Point=Point.polar(r,angle);//极坐标转换笛卡尔坐标


相关文档:

C#与Flash交互

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

html中加载flash后的路径问题

在页面A中加载了一个flash文件a.swf后,a.swf的路径就会变成A所在的路径。如果在a.swf中要加载b.swf时,这时候的路径就要进行相应的处理。
本来按照a.swf和b.swf在磁盘中的存放路径,a中加载b是很简单的,但是现在a.swf已经变成页面A所在的路径了,如果还是安装原来的路径去加载b.swf就加载不了了。因此可以在as代码加载b ......

flash 之 URLLoader


var loader:URLLoader = new URLLoader();
loader.addEventListener(ProgressEvent.PROGRESS, handleProgress );
event:ProgressEvent     event.bytesLoaded/event.bytesTotal
var streamer:URLStream = new URLStream( );
streamer.addEventListener( ProgressEvent.PROGRESS, handleProgress ......

flash测试 缓存1

flash测试有个麻烦的事情总是要清缓存
后来发现IE有设置可以每次取最新的
打开internet选项
浏览历史记录 下点设置
然后在 检查所存网页的较新版本 设置为 每才访问网页时
这样设置以后 有更新的话 ie 就能自动取最新的了,以后就不需要清缓存了,方便了很多啊 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号