`
china34420
  • 浏览: 134126 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

多目标点弹性运动

阅读更多

多目标点弹性运动,效果很酷哦^_^

package 
{
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.events.Event;
	import flash.display.Graphics;
	
	/**
	 * ...多目标点弹性运动
	 * @author zkl
	 * 来自:Action Script3.0 Animation
	 */
	public class MultiSpring extends Sprite
	{
		private var ball:Ball;
		//private var handle:Ball;
		private var handles:Array;
		private var numHandle:Number = 3;
		private var spring:Number = 0.2;
		private var friction:Number = 0.8;
		private var gravity:Number = 8;
		
		public function MultiSpring():void
		{
			init();
		}
		private function init():void
		{
			ball = new Ball(20);
			addChild(ball);
			
			handles = new Array;
			for (var i:int = 0; i < numHandle; i++ ) {
				var handle:Ball = new Ball(10, 0x0000ff);
				addChild(handle);
				handle.x = Math.random() * stage.stageWidth;
				handle.y = Math.random() * stage.stageHeight;
				handle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
				handles.push(handle);
			}
			addEventListener(Event.ENTER_FRAME, EnterFrame);
			addEventListener(MouseEvent.MOUSE_UP, mouseUp);
			
		}
		private function EnterFrame(e:Event):void
		{
			for (var i:int = 0; i < numHandle; i++ ) {
				var handle:Ball = handles[i] as Ball;
				var dx:Number = handle.x - ball.x;
				var dy:Number = handle.y - ball.y;
				ball.vx += dx * spring;
				ball.vy += dy * spring;
			}
			
			//ball.vy += gravity;
			
			ball.vx *= friction;
			ball.vy *= friction;
			
			ball.x += ball.vx;
			ball.y += ball.vy;
			
			graphics.clear();
			graphics.lineStyle(1);
			for (i = 0; i < numHandle; i++ ) {
				graphics.moveTo(ball.x, ball.y);
				graphics.lineTo(handles[i].x, handles[i].y);
			}
		}
		
		private function mouseDown(e:MouseEvent):void
		{
			e.target.startDrag();
		}
		private function mouseUp(e:MouseEvent):void
		{
			stopDrag();
		}
		
	}
	
}

 

 

分享到:
评论

相关推荐

    [Flash.ActionScript.3.0动画教程

    8.3.6 多目标点弹性运动 8.3.7 目标偏移 8.3.8 弹簧连接多个物体 8.4 本章重点公式 8.5 小结 第9章 碰撞检测 9.1 碰撞检测方法 9.2 hitTestObject 与 hitTestPoint 9.2.1 碰撞检测两个影片 9.2.2 影片与点的碰撞检测...

    JS弹性运动实现方法分析

    本文实例分析了JS弹性运动实现方法。分享给大家供大家参考,具体如下: 描述:像弹簧一样左右弹动,最后缓慢停下来 一、加减速运动 1.加速运动 var iSpeed=0; iSpeed++; 速度越来越快,最后冲出去 2.减速运动 var...

    Foundation Actionscript 3.0 Animation

    8.3.6多目标点弹性 8.3.7目标偏移 8.3.8使用弹性贴加多个物体 8.4本章重点公式 5 8.5小结 第9章碰撞检测 9.1碰撞检测方法 9.2hitTestObjet和hitTestPoint1 529.2.1碰撞测试两个精灵 9.2.2碰撞测试一个精灵和一个点 ...

    对锌靶上晕核破裂动力学的见解

    剩余的差异(约20%)归因于非弹性破裂事件(中子吸收或目标激发),这一点已通过Ichimura,Austern和Vincent(1985)模型进行的计算得以证实[14]。最后,后效应 -研究了能量分布中的加速度。 目前的CDCC计算很好地...

    粘弹性地基板上加铺层系统的动态设计 (2009年)

    基于线性系统的叠加原理和坐标变换,建立求解移动荷载下粘弹性地基板的动力响应积分公式,把运动荷载问题转化为获取位移脉冲响应函数。在柱坐标中利用拉普拉斯和汉克尔变换求解板在瞬时点源荷载作用下的解,再结合...

    Flash格斗动画的动作设计和动作的制作.doc

    动态平衡就比较复杂,但了解的基本的属性时也很容易理解,动态平衡的属性:速度,惯性,运动方向,重心,支撑点,但人物悬空的时候是没有支撑点的,但此时重心就尤为重要,你要知道为什么直升机的尾巴要多一个"风扇"......

    专业 2D 动画制作工具 Smith Micro Moho Pro 12.5.0 + x64 中文多语版.zip

    新的目标骨骼帮助骨骼指向正确的方向,而不是需要一致地设置角度。骨骼的其他改进包括更新的反向运动学求解器和自动骨骼缩放。 FBX 支持 Unity™ 游戏开发人员 Unity™ 游戏开发者和用户现在可以在 Moho Pro 中使用...

    JAVA上百实例源码以及开源项目

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    JAVA上百实例源码以及开源项目源代码

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    将图像按亮度进行分割的matlab代码-bactload:用于估计FCFM成像中细菌和细胞负荷的工具箱

    由于存在自发荧光人体肺组织的背景,即弹性蛋白和运动等的成像伪影,估计细菌和细胞负荷成为一项具有挑战性的任务。我们为这些任务创建了一个带注释的图像数据库,其中细菌和细胞被注释,并使用这些数据库进行监督...

Global site tag (gtag.js) - Google Analytics