博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 3d文字旋转_3d多物体点旋转
阅读量:6361 次
发布时间:2019-06-23

本文共 1892 字,大约阅读时间需要 6 分钟。

package com.ddd

{importflash.display.Sprite;importflash.display.StageScaleMode;importflash.events.Event;/**

* 3d多物体点旋转

* @author Administrator

**/

public class RotateY extendsSprite

{private var balls:Array=[];private var num:int=10;private var vpX:Number=stage.stageWidth / 2;private var vpY:Number=stage.stageHeight / 2;private var fl:Number=250;public functionRotateY()

{super();

stage.scaleMode=StageScaleMode.NO_SCALE;

init();

}private functioninit():void

{for (var i:int=0; i < num; i++)

{var ball:Ball=new Ball;

this.addChild(ball);

ball.xpos=Math.random() * 200 - 100;

ball.ypos=Math.random() * 200 - 100;

ball.zpos=Math.random() * 200 - 100;

balls.push(ball);

}

this.addEventListener(Event.ENTER_FRAME, onEnterFrame)

}private functiononEnterFrame(e:Event):void

{//注意这里,这是朝着鼠标坐标方向的运动方式

var angleY:Number=(mouseX - vpX) * .001;var angleX:Number=(mouseY - vpY) * .001;for (var i:int=0; i < num; i++)

{var ball:Ball=balls[i];

rotateY(ball, angleY);

rotateX(ball, angleX);

dopetive(ball);

}

sortZ();

}private function rotateY(ball:Ball, _angle:Number):void

{var xp:Number=Math.cos(_angle) * ball.xpos - Math.sin(_angle) *ball.zpos;var zp:Number=Math.cos(_angle) * ball.zpos + Math.sin(_angle) *ball.xpos;

ball.xpos=xp;

ball.zpos=zp;

}private function rotateX(ball:Ball, _angle:Number):void

{var yp:Number=Math.cos(_angle) * ball.ypos - Math.sin(_angle) *ball.zpos;var zp:Number=Math.cos(_angle) * ball.zpos + Math.sin(_angle) *ball.ypos

ball.ypos=yp;

ball.zpos=zp;

}private functiondopetive(ball:Ball):void

{if (ball.zpos > -fl)

{var scale:Number=fl / (fl +ball.zpos);

ball.scaleX=ball.scaleY=scale;

ball.x=vpX + ball.xpos *scale;

ball.y=vpY + ball.ypos *scale;

ball.visible=true;

}else{

ball.visible=false;

}

}private functionsortZ():void

{

balls.sortOn("zpos", Array.DESCENDING |Array.NUMERIC);for (var i:int=0; i < num; i++)

{var ball:Ball=balls[i];

this.setChildIndex(ball, i)

}

}

}

}

转载地址:http://hcima.baihongyu.com/

你可能感兴趣的文章
iptables 学习笔记 (上)
查看>>
Windows Server 2012 R2 Active Directory(活动目录)实验一
查看>>
android viewpager 无限左右滑动
查看>>
linux下SSH远程连接服务慢解决方案
查看>>
HTML
查看>>
CENTOS7下编译安装PHP-5.4以及配置phpMyAdmin
查看>>
磁盘显示无法访问拒绝访问,里面的资料怎样找到
查看>>
Java之品优购课程讲义_day07(5)
查看>>
Java的新项目学成在线笔记-day3(八)
查看>>
路由简单的实验
查看>>
零基础学习大数据Hadoop需要什么准备?Hadoop如何发展起来的?
查看>>
前端程序员需要具备的几个软实力,你具备了吗
查看>>
RHEL系列网络配置2015083101
查看>>
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
查看>>
雨巷-戴望舒
查看>>
OpenCms创建网站过程图解——献给OpenCms的初学者们
查看>>
C++ 异常处理机制的实现
查看>>
Freebsd的ports命令
查看>>
分布式系统---幂等性设计
查看>>
【转】时钟周期,机器周期,指令周期的区别
查看>>