ActionScript 3.0基础——Point 对象

高中时几何和物理学得不好,老是记不住一些公式,因此做Flash游戏就头大。现在好了,ActionScript 3.0中的flash.geom 包中包含了用于定义几何对象(如点、矩形和转换矩阵)的类,以后做Flash游戏就方便多了。

Point 对象定义一对笛卡尔坐标。它表示二维坐标系中的某个位置。其中x表示水平轴,y 表示垂直轴。

一、确定两点之间的距离

//定义 Point 对象
var pt1:Point = new Point(0, 0);
var pt2:Point = new Point();
//平移坐标
pt2.offset(3,4);
var dist = Point.distance(pt1, pt2);
trace(dist);

看出来没?这就是勾股定理的一个简单应用。

二、按指定的角度和距离移动显示对象

ActionScript 3.0以前按指定的角度和距离移动显示对象只能用Math类的方法,相当复杂。现在利用Point对象的polar 方法方便地实现 类似功能。看下面代码。

import flash.geom.*;
import flash.events.*;
//创建圆形
var size:uint = 100;
var roundObject:Shape = new Shape();
roundObject.graphics.beginFill(0xFF0000);
roundObject.graphics.moveTo(size / 2, 0);
roundObject.graphics.curveTo(size, 0, size, size / 2);
roundObject.graphics.curveTo(size, size, size / 2, size);
roundObject.graphics.curveTo(0, size, 0, size / 2);
roundObject.graphics.curveTo(0, 0, size / 2, 0);
stage.addChild(roundObject);
//移动圆形
var distance:Number = 100;
var angle:Number = 2 * Math.PI * (30 / 360);
var translatePoint:Point = Point.polar(distance, angle);
var dx:Number = translatePoint.x/5;
var dy:Number = translatePoint.y/5;
//自定义侦听器函数
function onMove(e:Event):void {
	var s:Shape = e.target as Shape;
	s.x += dx;
	s.y += dy;
	if (s.x > 400) {
                //删除侦听器
		roundObject.removeEventListener(Event.ENTER_FRAME,onMove);
	}
}
//注册侦听器
roundObject.addEventListener(Event.ENTER_FRAME, onMove);

polar 方法可以将一对极坐标转换为笛卡尔点坐标。Point 对象中还有add和subtract等其它方法,大家参看帮助文件吧。

上一篇上一篇: Adobe Exchange改版
下一篇下一篇: Flash Remoting ActionScript 3.0简介
来自文章来自: 本站原创
引用引用通告: 查看所有引用 | 我要引用此文章
标签Tags: Actionscript3
相关相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭