`
china34420
  • 浏览: 136416 次
  • 性别: 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 as3.0 缓动与弹性运动(2.0也可参考)

    弹性运动则是指动画过程中物体在达到目标点时表现出的反弹或振荡效果。这种运动方式模拟了物体受到外力作用后的反应,如弹簧的振动。在Flash AS3.0中,实现弹性运动通常需要更复杂的数学模型和算法,包括加速度、...

    JS弹性运动实现方法分析

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

    妙味课堂原创JavaScript视频教程运动课程课程资料-运动扩展(共5张PPT).ppt

    弹性运动模拟了物理世界中的弹簧效果,物体在接近目标点时加速,远离目标点时减速。这种运动的实现涉及到加速度的计算,根据物体与目标点的距离来调整加速度。在代码中,可能使用如下的公式来更新速度:`速度+=...

    用于信息可视化的弹性界面

    3. **多层次展示**:对于复杂的数据集,弹性界面可以提供多层次的可视化,允许用户逐步深入探索数据。例如,初次展示可能是一个概览图表,用户可以通过点击或手势展开更详细的信息。 4. **动态更新**:界面能实时...

    JS运动相关知识点小结(附弹性运动示例)

    而"附弹性运动示例"则意味着文档中不仅介绍了相关知识点,还提供了一个具有弹性运动效果的代码示例,让读者可以更加直观地理解和学习如何实现这样的效果。 描述中提到的知识点包括以下几个方面: 1. 在编写...

    安全平滑的改进时间弹性带轨迹规划算法.pdf

    该算法通过增加危险惩罚因子约束规划更安全的运动轨迹,增加加速度跳变以抑制约束减小运动中的最大冲击,增加末端平滑约束以减小末端冲击,实现目标点平滑、准确到达。 二、关键技术 1. 危险惩罚因子:该算法引入...

    弹性力学PPT(可直接打印)

    - 动力学则关注弹性体在外力作用下的运动状态,考虑时间因素的影响,通常涉及到四维(时空问题)的情况。 3. **微元体分析** - 在弹性力学分析中,常用微元体来简化复杂问题。通过将弹性体划分为无数个微小单元...

    运动训练学试题库.doc

    《运动训练学试题库》包含了运动训练学领域的多个核心知识点,涵盖了从基本概念到训练方法、素质定义以及战术理解等多个方面。以下是对这些知识点的详细阐述: 1. 运动训练:这是一种在教练员的指导下,有计划、有...

    基于神经网络和遗传算法的锭子弹性管性能优化.pdf

    研究中,作者们通过建立弹性管的等效抗弯刚度和底部等效刚度系数的数学模型,旨在找到最佳的结构工艺参数,以改善减振效果和高速运动下的稳定性。 首先,研究者基于MatLab数值分析软件构建了弹性管的抗弯刚度和底部...

    js实现带简单弹性运动的导航条

    标题“js实现带简单弹性运动的导航条”中的知识点主要包括JavaScript(简称js)、弹性运动效果的实现,以及导航条特效的设计。描述部分告诉我们这篇文章将分享一个具体的实现示例,这个示例的代码对学习和工作具有...

    flex_Actionscript3

    - **多目标点弹性**:多个目标点的弹性效果。 - **目标偏移**:目标点相对于物体的位置偏移。 - **使用弹性贴加多个物体**:多个物体同时受弹性效果影响。 #### 九、碰撞检测 ##### 9.1 碰撞检测方法 - **`...

Global site tag (gtag.js) - Google Analytics