Flash教程:AS3旋转图片实例
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-07
|
实例效果是图片在一个水平面上绕Y轴一圈,并用鼠标控制这些图片绕轴旋转.
图片排列状况
具体步骤: 首先建立一个影片,然后创建一个2帧的影片剪接元件picBox,在第一帧设置stop()代码,并为该影片创建连接类名 picBox . 如下图
好,完成上面后在同目录下新建一个脚本文件picBox.as
- package {
- import Flash.display.MovieClip;
- import flash.display.Loader;
- import flash.net.URLRequest;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.net.navigateToURL;
- //定义类picBox:这是一个画框,实现了三维坐标转化为二维坐标,还支持鼠标事件
- public class picBox extends MovieClip {
- //定义属性
- public var tx:Number;//三维空间之x坐标
- public var ty:Number;//三维空间之y坐标
- public var tz:Number;//三维空间之z坐标
- public var angle:Number;//对象在圆周上分布的弧度
- public var radius:uint;//圆弧的半径
- private var loadPic:Loader;//用于导入外部图像
- //构造函数:导入图像
- public function picBox(picURL:String) {
- loadPic = new Loader();
- var url:URLRequest = new URLRequest(picURL);
- loadPic.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded);
- loadPic.load(url);
- }
- //导入图像,注册画框对象上的鼠标事件
- private function loaded(e:Event){
- //调整图像大小,稍小于画框
- e.target.content.width = 100;
- e.target.content.height = 120;
- //定位图像
- loadPic.x -= 100/2;
- loadPic.y -= 120/2;
- this.addChild(loadPic);
- //注册画框对象上的鼠标事件
- loadPic.addEventListener(MouseEvent.MOUSE_OVER,overHd);
- loadPic.addEventListener(MouseEvent.MOUSE_OUT,outHd);
- }
- //滑过画框,边框变色
- private function overHd(e:MouseEvent){
- this.gotoAndStop(2);
- }
- //滑出画框,边框恢复
- private function outHd(e:MouseEvent){
- this.gotoAndStop(1);
- }
- //根据变换后的角度和焦距计算二维的舞台坐标
- public function displayPane(spin,focalLength) { //参数:角度偏移量,焦距
- //计算新角度,并求新的空间坐标
- var currAngle:Number = angle - spin;
- tx = Math.cos(currAngle)*this.radius;
- tz = Math.sin(currAngle)*this.radius;
- //计算比率:画框对象离观察者由近~远-(-150,150),scaleRatio取值-[500/350,500/650]
- var scaleRatio:Number = focalLength/(focalLength + tz);
- //根据比率计算并设置平面坐标位置、大小比例
- this.x = tx * scaleRatio;
- this.y = ty * scaleRatio;
- this.scaleX = this.scaleY = scaleRatio;
- //控制画框在y=0的位
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|