Flash AS3教程:制作鼠标感应图片转动
实例效果是图片在一个水平面上绕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; |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |