8.7.1 旋转和坐标系
来源:互联网 发布:算法工程师是干嘛的 编辑:程序博客网 时间:2024/05/16 01:52
使用Matrix.rotate()方法可以实现对象的旋转。旋转是围绕显示对象父容器的坐标系原点进行的。例8-8将利用旋转变形,制作一段模拟地球和月球运动的动画。
(1)创建一个AS3项目,舞台尺寸550×400,帧率20。在舞台上建立一个空MovieClip实例earth_system,在earth_system内部,建立两个圆形MovieClip对象,分别命名为earth和moon。适当调整moon对象同earth对象的大小,使其符合演示需要。总体布置如图所示:
舞台对象的关系请参考图:
(2)在代码编辑器中,输入以下代码,创建动画入口:
var transtimer:Timer = new Timer(50, 150);
transtimer.addEventListener("timer", transtimerHandler);
transtimer.addEventListener("timerComplete", transComplete);
earth_system.x=345;
earth_system.y=5;
transtimer.start();
function transtimerHandler(event:TimerEvent):void {
//动画代码编写入口
}
function transComplete(event:TimerEvent):void {
transtimer.reset();
transtimer.start();
}
这段代码中,在定时器启动前,将earthsystem对象的位置移动到舞台中上方。这样做仅仅是为了动画的美观,并不涉及其他问题。
(3)创建一个函数rootanim来控制earth_system的公转。因为earth_system就直接处在舞台上,其父容器就是舞台本身,所以根据矩阵变换的知识可知,对其进行旋转将是围绕舞台左上角进行的。在本例的舞台布置中,恰好就是星系的中心。
var myMatrix:Matrix=earth_system.transform.matrix;
transtimer.start();
function rootanim(){
myMatrix.rotate(Math.PI/3650);
earth_system.transform.matrix=myMatrix;
}
function transtimerHandler(event:TimerEvent):void {
//动画代码编写入口
rootanim();
}
(4)运行这段程序,可以看到地球带着月球开始了公转。其旋转变换及坐标系关系如图所示:
- 8.7.1 旋转和坐标系
- 直角坐标系的平移和旋转
- 直角坐标系的平移和旋转
- 直角坐标系的平移和旋转
- maya和Unity中的坐标系旋转
- 什么叫做坐标系的平移和旋转.
- 三维坐标系中旋转矩阵R的作用和演示
- nyoj-830-旋转坐标系
- hdu4998 旋转坐标系
- 旋转坐标系公式详解
- 坐标系旋转变换函数
- 传感器获取旋转矩阵R,机身坐标系和世界坐标系的映射remapR,获得旋转角度 orientationValues;
- 简单的坐标系旋转关系
- 旋转、移动OpenGL视坐标系
- 旋转、移动OpenGL视坐标系
- 圈地(斜率排序+坐标系旋转)
- 三维坐标系的旋转矩阵
- 直角坐标系的旋转公式
- 消息订阅、派送设计模式在“平台-插件”式软件架构设计中的应用
- 8.6.9 矩阵算法原理
- ASP.NET 2.0运行时简要分析
- 8.7 旋转变形
- 技术出身谈管理
- 8.7.1 旋转和坐标系
- php 5.2.6释出
- 8.7.2 旋转形变
- 音频编解码标准
- 8.7.3 相对坐标系
- Retore database from a back up file.
- 8.7.4 伸缩和映射
- 鼠标滑过出现提示层效果 js代码
- 8.7.5 内建伸缩方法