文档类
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
/**
* ...
* @author zkl
*/
public class Rotate extends Sprite {
private var balls:Array;
private var numBalls:Number = 10;
private var radius:Number = 100;
private var colors:Array=[0xFF0000,0x00FF00,0x0000FF,0x33CC00,0x9900FF,0xCC6600]
public function Rotate(){
init();
}
private function init():void {
//弧度(360 / numBalls * Math.PI / 180)
var an:Number = 2 / numBalls * Math.PI;
balls = new Array;
for (var i:int = 0; i < numBalls; i++){
var ball:Ball = new Ball(20,colors[int(Math.random()*numBalls)]);
balls.push(ball);
addChild(ball);
//以中心为圆心,排列
ball.x = Math.cos(an * i) * radius + stage.stageWidth / 2;
ball.y = Math.sin(an * i) * radius + stage.stageHeight / 2;
ball.addEventListener(MouseEvent.MOUSE_OVER, mouseHandler);
}
addEventListener(Event.ENTER_FRAME, enterFrame);
}
private function enterFrame(e:Event):void {
var angle:Number = (mouseX - stage.stageWidth / 2) * .001;
var cos:Number = Math.cos(angle);
var sin:Number = Math.sin(angle);
for (var i:int = 0; i < numBalls; i++){
var ball:Ball = balls[i];
var x1:Number = ball.x - stage.stageWidth / 2;
var y1:Number = ball.y - stage.stageHeight / 2;
var x2:Number = cos * x1 - sin * y1;
var y2:Number = cos * y1 + sin * x1;
ball.x = stage.stageWidth / 2 + x2;
ball.y = stage.stageHeight / 2 + y2;
}
}
private function mouseHandler(e:MouseEvent):void {
switch (e.type){
case MouseEvent.MOUSE_OVER:
removeEventListener(Event.ENTER_FRAME, enterFrame);
e.target.addEventListener(MouseEvent.MOUSE_OUT, mouseHandler);
break;
case MouseEvent.MOUSE_OUT:
addEventListener(Event.ENTER_FRAME, enterFrame);
e.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseHandler);
break;
}
}
}
}
分享到:
相关推荐
用opengl 在qt 上绘制多个立方体。并不断旋转。
学习virtools,鼠标控制物体旋转一个案例,分不多,可以看看
包括可以控制物体移动、旋转,显示物体名称的多个代码
Unity3D教程:物体旋转和缩放的简单demo1
自己一直在用的方法,鼠标和触屏通用,多个参数可以自己调整,注释详细,配置简单,需要的拿去,自己一直在用的方法,多个参数可以自己调整,注释详细,配置简单,需要的拿去
10.2.2 多物体旋转 10.3 沿角度回弹 10.3.1 实现旋转 10.3.2 优化代码 10.3.3 动态效果 10.3.4 修正“跌落”问题 10.3.5 多角度反弹 10.4 本章重点公式 10.5 小结 第11章 台球物理 11.1 质量 11.2 动量 11.3 动量...
unity C#以物体为中心旋转相机 c#代码
三维程序设计,多物体,颜色,旋转,动画,在场景中添加另一物体
速比、扭力、电机选型 分析 速比、扭力、电机选型 分析
话不多说,请看代码: 可以拖动右上角观察变化 <!DOCTYPE html> <html lang="en" style="width: 100%; height:100%;"> <head> <meta charset="UTF-8"> <title>Document</title>...
助力快速利用 UGUI 完成 3D 物体在 UI 界面的显示,UnityUi显示3D物体/模型,控制物体旋转,转动全教程-超简单,游戏开发过程中,我们时长会需要把 3D 游戏对象/模型显示在 UI 界面上 例如王者荣耀上的人物选择,可以...
为了实现高速旋转工件的在线三维面形检测...实验结果表明,该方法具备可行性和实用性,可有效避免工件离线检测时多次装夹不一致引入的加工误差,能够提高工件的检测效率和加工效率,可用于其他高速旋转物体的三维面形重建。
HTML5 3D动画应用非常广泛,我们之前也分享过很多炫酷的HTML5动画应用。今天要介绍的这款HTML5 3D动画是一个旋转的物体,并且利用CSS3的特性,物体会发出模糊和发光的动画特效,旋转起来效果特别酷。
通过特征点的提取和匹配,在拥有多个物体的图像集合中找到并标识目标物体。要求尽管尺度变化或平面内旋转,以及少量的平面外旋转和遮挡,它仍可以检测物体。
3dmax锁定物体,对于场景的模型进行锁定以及快照,比如旋转多次,移动多次,一键恢复快照时候的操作等
使用外部旋转传感器对多层圆柱物体进行合成Kong径成像
由于激光扫描一次只能测量给定视角可见的物体表面,若测量物体全方位的形状,必须通过旋转,从多个视角测量物体,并将多视数据拼合于同一坐标系。精确标定转台的中心轴线是旋转测量和多视拼合的关键。提出了一种标定转台...
根据Timer事件,每次都更改Degree,重新绘制图片的位置,然后不断的调用事件,给人的视觉上是在不断的旋转。
ANSYS高速旋转轮盘模态分析全面讲解,讲述如何利用ansys 轴对称单元仿真