用AS3做的平行四边形
来源:互联网 发布:疯狂联盟辅助软件 编辑:程序博客网 时间:2024/05/01 17:54
var p:Array=new Array(4) //这是平行四边形的四个顶点
var pt1:Array=new Array(3)
var pt2:Array=new Array(3)
var i:Number
var t:Number=0 //这是相当于时间,逐渐增加
var sp0:Sprite=new Sprite()//画边用的
addChild(sp0)
for(i=0;i<3;i++)
{
pt1[i]=new TextField()
pt2[i]=new TextField()
addChild(pt1[i])
addChild(pt2[i])
pt1[i].x=50
pt2[i].x=150
pt1[i].y=50+i*40
pt2[i].y=50+i*40
}
pt1[0].text="分力一的大小:"
pt1[1].text="分力二的大小:"
pt1[2].text="合力的大小:"
for (i=0;i<4;i++)
{
var sp:Sprite=new Sprite()
addChild(sp)
sp.graphics.beginFill(0xff00000)
sp.graphics.drawCircle(0,0,2)
sp.graphics.endFill()
p[i]=sp
}
p[0].x=200
p[0].y=300
p[1].x=230
p[1].y=140
p[2].x=430
p[2].y=140
p[3].x=400
p[3].y=300
drawArrow(p[0],p[1])
drawArrow(p[0],p[2])
drawArrow(p[0],p[3])
addEventListener(Event.ENTER_FRAME,xfu)
function xfu(e:Event)
{
sp0.graphics.clear()
p[2].x=p[3].x+p[1].x-p[0].x
p[2].y=p[3].y+p[1].y-p[0].y
pt2[0].text=Math.sqrt((p[1].x-p[0].x)*(p[1].x-p[0].x)+(p[1].y-p[0].y)*(p[1].y-p[0].y))
pt2[1].text=Math.sqrt((p[3].x-p[0].x)*(p[3].x-p[0].x)+(p[3].y-p[0].y)*(p[3].y-p[0].y))
pt2[2].text=Math.sqrt((p[2].x-p[0].x)*(p[2].x-p[0].x)+(p[2].y-p[0].y)*(p[2].y-p[0].y))
drawArrow(p[0],p[1])
drawArrow(p[0],p[2])
drawArrow(p[0],p[3])
drawSline(p[1],p[2])
drawSline(p[2],p[3])
}
p[1].addEventListener(MouseEvent.MOUSE_OVER,xfu1)
p[1].addEventListener(MouseEvent.CLICK,xfu2)
p[3].addEventListener(MouseEvent.MOUSE_OVER,xfu1)
p[3].addEventListener(MouseEvent.CLICK,xfu2)
function xfu2(e:Event)
{
Sprite(e.target).stopDrag()
}
function xfu1(e:Event)
{
Sprite(e.target).startDrag()
//p[2].x=p[3].x+p[1].x-p[0].x
//p[2].y=p[3].y+p[1].y-p[0].y
}
function drawArrow(s1:Sprite,s2:Sprite)
{
var xx=s2.x-s1.x
var yy=s2.y-s1.y
var rr=Math.sqrt(xx*xx+yy*yy)
sp0.graphics.lineStyle(2,0xff0000)
sp0.graphics.moveTo(s1.x,s1.y)
sp0.graphics.lineTo(s2.x,s2.y)
sp0.graphics.lineTo(s2.x-xx/10+5*yy/rr,s2.y-yy/10-5*xx/rr)
sp0.graphics.lineTo(s2.x-xx/10-5*yy/rr,s2.y-yy/10+5*xx/rr)
sp0.graphics.lineTo(s2.x,s2.y)
}
function drawSline(s1:Sprite,s2:Sprite)
{
var xx=s2.x-s1.x
var yy=s2.y-s1.y
sp0.graphics.lineStyle(1,0x00ff00)
for(i=0;i<20;i++)
{
sp0.graphics.moveTo(s1.x+xx*(2*i)/40,s1.y+yy*(2*i)/40)
sp0.graphics.lineTo(s1.x+xx*(2*i+1)/40,s1.y+yy*(2*i+1)/40)
}
}
- 用AS3做的平行四边形
- 平行四边形的效果实现
- 大写字母的平行四边形
- codeforces660D平行四边形的个数
- 星号版的平行四边形
- 平行四边形的研究
- bLue的平行四边形
- bLue的平行四边形
- 用‘*’输出一个平行四边形
- 平行四边形
- 平行四边形
- 平行四边形
- 平行四边形
- 用平移法演示得出平行四边形的面积公式
- AS3做的FLV播放器(教程)
- 不规则四边形的平行四边形化
- as3 - xml - asp - access做的有奖问答
- 第一篇博客 flash AS3.0 做的BrainFuck编译器
- LR业务的实际模型分析
- &gt;--练习总结
- 最大熵模型:读书笔记
- Vim作者创造新编程语言Zimbu
- Oracle入门书籍推荐《转》
- 用AS3做的平行四边形
- Flash 杂志《summer tree》 第六期发布
- 级联查询sql
- java工具栏简单应用
- 为什么李开复没有成为我?
- Trigger的用法及Inserted Deleted的作用
- Happinux
- 3D围棋游戏开发总结
- 概率、信息和熵