快速业务通道

Flash教程:AS3旋转图片实例

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07
置翻转
  • this.scaleX *= Math.sin(currAngle);
  • //再次翻转,使图片位于前面时不是反图
  • this.scaleX *= Math.sin(currAngle);
  • }
  • }
  • }
  • 然后再新建一个main.as,并在影片文件设置文档类名 main
    1. package {
    2. import flash.display.Sprite;
    3. import flash.events.Event;
    4. //定义文档类:创建画框对象,均匀分布在虚拟的y=100平面上并根据鼠标位置发生旋转
    5. public class main extends Sprite {
    6. //定义属性
    7. private var picnum:uint=8 //画框数量
    8. private var pics:Sprite=new Sprite();//容纳画框,在其中虚拟的y=100平面上分布
    9. private var picBoxArr:Array=new Array();//画框的引用数组
    10. private var spin:Number=0;//角度偏移量
    11. private var focalLength:uint=500;//焦距
    12. private var angleStep:Number=2 * Math.PI / picnum;//画框分布时,间距角度
    13. private var zArr:Array = new Array(); //暂存画框对象及tz值,用于重新调整位置索引
    14. //构造函数:在大容器pics内创建画框,并分配初始值
    15. public function main() {
    16. //定位大容器到舞台
    17. pics.x=270;
    18. pics.y=80;
    19. addChild(pics);
    20. //创建画框对象并添加到大容器内
    21. for (var i:uint; i < picnum; i++) {
    22. //画框上待显示的图像路径
    23. var pic:String="pic\\image" + i + ".jpg";
    24. //创建画框对象
    25. var newBox:picBox=new picBox(pic);
    26. //初始化对象的属性
    27. newBox.angle=angleStep * i;
    28. newBox.radius=150;
    29. newBox.tx=Math.cos(newBox.angle) * newBox.radius;//使用圆的参数方程计算坐标
    30. newBox.tz=Math.sin(newBox.angle) * newBox.radius;
    31. newBox.ty=100;
    32. //将新对象引用保存在数组
    33. picBoxArr.push(newBox);
    34. pics.addChild(newBox);
    35. }
    36. //在大容器上注册ENTER_FRAME事件,随时改变角度从而发生旋转
    37. pics.addEventListener(Event.ENTER_FRAME,panCamera);
    38. }
    39. //ENTER_FRAME事件处理函数,调用画框对象的displayPane方法,改变自身位置
    40. private function panCamera(e:Event) {
    41. //根据鼠标位置调节角度偏移量
    42. spin+= (mouseX - stage.stageWidth/2) / 2000;
    43. //改变画框对象的坐标
    44. for (var i:uint; i < picBoxArr.length; i++) {
    45. picBoxArr[i].displayPane(spin,focalLength);
    46. }
    47. //重新排列对象的位置索引
    48. replace();
    49. }
    50. //重新排列对象的位置索引
    51. private function replace() {
    52. //暂存各对象引用及z轴位置信息
    53. for (var i:uint; i < picBoxArr.length; i++) {
    54. zArr[i]={p:picBoxArr[i],pz:picBoxArr[i].tz};
    55. }

    凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

    分享到: 更多

    Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

    地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

    电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

    《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号