弹簧连接多个物体(目标偏移)
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 DoubleSpring extends Sprite
{
private var ball0:Ball;
private var ball1:Ball;
private var ball2:Ball;
private var ball0Draging:Boolean = false;
private var ball1Draging:Boolean = false;
private var ball2Draging:Boolean = false;
private var spring:Number = 0.1;
//private var vx:Number = 0;
//private var vy:Number = 0;
private var friction:Number = 0.95;
private var springLength:Number = 100;
public function DoubleSpring():void
{
init();
}
private function init():void
{
ball0 = new Ball(20);
addChild(ball0);
ball0.x = Math.random() * stage.stageWidth;
ball0.y = Math.random() * stage.stageHeight;
ball0.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
ball1 = new Ball(20);
addChild(ball1);
ball1.x = Math.random() * stage.stageWidth;
ball1.y = Math.random() * stage.stageHeight;
ball1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
ball2 = new Ball(20);
addChild(ball2);
ball2.x = Math.random() * stage.stageWidth;
ball2.y = Math.random() * stage.stageHeight;
ball2.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
addEventListener(Event.ENTER_FRAME, EnterFrame);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
}
private function EnterFrame(e:Event):void
{
if (!ball0Draging) {
springTo(ball0, ball1);
springTo(ball0, ball2);
}
if (!ball1Draging) {
springTo(ball1, ball0);
springTo(ball1, ball2);
}
if (!ball2Draging) {
springTo(ball2, ball0);
springTo(ball2, ball1);
}
graphics.clear();
graphics.lineStyle(1);
graphics.moveTo(ball0.x, ball0.y);
graphics.lineTo(ball1.x, ball1.y);
graphics.lineTo(ball2.x, ball2.y);
}
private function springTo(ballA:Ball,ballB:Ball):void
{
var dx:Number = ballB.x - ballA.x;
var dy:Number = ballB.y - ballA.y;
var angle:Number = Math.atan2(dy, dx);
var targetX:Number = ballB.x + Math.cos(angle) * springLength;
var targetY:Number = ballB.y + Math.sin(angle) * springLength;
ballA.vx += (targetX - ballA.x) * spring;
ballA.vy += (targetY - ballA.y) * spring;
ballA.vx *= friction;
ballA.vy *= friction;
ballA.x += ballA.vx;
ballA.y += ballA.vy;
}
private function mouseDown(e:MouseEvent):void
{
e.target.startDrag();
if (e.target == ball0) {
ball0Draging = true;
}
if (e.target == ball1) {
ball1Draging = true;
}
if (e.target == ball2) {
ball2Draging = true;
}
}
private function mouseUp(e:MouseEvent):void
{
ball0.stopDrag();
ball1.stopDrag();
ball2.stopDrag();
ball0Draging = false;
ball1Draging = false;
ball2Draging = false;
}
}
}
分享到:
相关推荐
这个物体应该有一个刚体组件(Rigidbody),因为这将使它能够参与物理模拟,从而实现更自然的移动效果。 在Unity的C#脚本中,我们可以创建一个名为`MoveObj`的类,用于处理拖动逻辑。这个类通常会继承自`...
【标题】和【描述】提及的文件是一份关于弹簧及弹簧测力计的练习题集...这些知识点涵盖了弹簧的基本性质、弹力的产生、弹簧测力计的使用和读数、力的平衡以及胡克定律等多个方面,是物理学习中关于力学基础的重要内容。
- 如图9-B-2至9-B-4所示,通过轻弹簧连接的物体,剪断细绳或弹簧时,根据牛顿第三定律和第二定律,可以计算出各物体的加速度。 7. 动力学问题分析: - 例如在选择题中的情况,物体在光滑水平面上受力改变方向时,...
- 在多个力共同作用下,物体静止时,可以利用力的平衡条件来计算各力的大小。 - 在连接的弹簧测力计系统中,通过力的传递,可以判断各个测力计的示数。 7. 弹簧测力计的读数理解: - 弹簧测力计的示数代表作用在...
【沪粤版】八年级物理下册的《6.2 怎样测量和表示力》章节,主要涉及了力的概念、测量力的工具——弹簧测力计的使用以及力的作用效果等多个知识点。以下是对这些知识点的详细解释: 1. **力的概念**:力是物体对...
【知识点解析】 1. 力的概念与力的作用效果: ...综上所述,这些题目涵盖了力的基本概念、力与运动的关系、力的平衡、惯性、运动的相对性、力的作用效果等多个物理知识点,主要涉及初中物理力学部分。
2. **共点力的平衡**:当一个物体处于静止状态或匀速直线运动状态,其所受的力处于平衡状态,即所有力的矢量和为零。在共点力的平衡问题中,所有作用力都在同一作用点,平衡条件是三个力矩之和为零。例如,题目中斜...
【知识点详解】 ...以上知识点涵盖了动量、动量守恒定律、动能与动量的关系、机械能守恒、牛顿定律、万有引力定律、弹性碰撞和非弹性碰撞等多个方面的物理概念和原理,适用于高一物理下学期的学习内容。
这份文档是四川省达州市万源中学2014-2015学年八年级物理下学期第一次月考试题,主要考察初中阶段物理的基础知识,包括力、平衡力、惯性、摩擦力以及力的合成等多个核心概念。下面将详细解析部分题目涉及的知识点。 ...
- 在物理学中,力是一个物体对另一个物体的作用,使得物体的运动状态发生变化。根据牛顿第三定律,力总是成对出现,即一个受力物体同时也是施力物体,选项A正确。 - 弹力是由于物体形变而产生的恢复原状的趋势,当...
【知识点详解】 1. **重力的理解**:物体在地球表面受到的重力是由...以上是对高一物理上第二次月考试卷的部分题目解析,涵盖了重力、重心、压力、摩擦力、合力与分力、力的平衡、力的分解和合成等多个核心知识点。
【知识点详解】 ...以上是对运动和力相关知识点的详细阐述,涵盖了力的作用、力的效果、测量仪器的使用以及能量转换等多个方面。这些知识对于理解物理学的基本概念和日常生活中的物理现象至关重要。
4. **力的平衡**:物体在运动中受到多个力的作用,但若这些力达到平衡,物体就会保持静止或匀速直线运动。如过山车中的小明,虽然运动方向变化,但受到的重力始终垂直向下,保持动态平衡。 5. **摩擦力的影响**:...
涵盖了力的作用效果、力的作用相互性、摩擦力的种类和影响因素、力的平衡、静摩擦力与动摩擦力的区别、质量与重力的关系、力的分析以及弹簧的胡克定律等多个核心概念。这些知识是初中物理的重要组成部分,对理解和...
11. 平衡力与作用力反作用力的区别:平衡力是作用在一个物体上,使物体保持静止或匀速直线运动的两个或多个力;作用力和反作用力是牛顿第三定律的体现,它们是同时、同性质、等大的力,分别作用在两个不同的物体上。...
以上是对高一物理月考试题中涉及的多个知识点的详细解析,包括加速度、速度、位移的关系,力的分解与合成,弹簧的性质,动力学问题,平抛运动,小船渡河问题,摩擦力,惯性和斜面传送带问题等。这些知识点都是高中...
【知识点详解】 1. **磁场与力的作用**:磁铁靠近铁钉时,...以上内容详细解析了物理试题中涉及的力的作用、运动状态、惯性、平衡力、重力、摩擦力、弹簧测力计的使用等多个核心知识点,以及如何理解和应用这些概念。
【知识点详解】 ...以上是高一物理期终试卷的部分内容解析,涵盖了力的基本概念、弹力、力的合成与分解、牛顿运动定律、相对论、力的作用效果、共点力的合成与分解、重力加速度、力矩和瞬时速度等多个知识点。
这篇文档是针对八年级物理的月考试题,主要涵盖了力的基本概念、惯性、平衡力、压强、浮力等多个物理知识点。 1. 力的基本概念: 题目1和2考察了力的定义和作用效果。力是物体间的相互作用,一个物体不能单独产生力...
【知识点详解】 1. **共点力的合成与平衡**:题目中提到的三个共点力 F1、F2、F3 合力 F 的...以上就是基于题目内容所解析的相关物理知识点,主要涵盖了力的合成、摩擦力、平衡问题、动力学分析、实验技巧等多个方面。