`

多点弹性运动(动画编程深入)

阅读更多
上回讲到了弹性运动,其实我们已经可以做很多有趣好玩的东东了,比如弹力小球,就是小孩经常玩的哪种,小球上面连上一根橡皮筋,用力摔出去,碰到东西又弹回来。在这里我仅描述一下,具体实现让你们自己发挥去。今天我要讲的是多点弹性运动,以前的都是单一受力,就是只受到一种弹力,现在我要让他受三种弹力或者以上的弹力,并且可以控制各方向的弹力大小。

       大家如果觉得很好,就多多踩一下,留一下言!!!谢谢光顾!!

这里要用四个小球,前面的小球类已经经出,今天只给出多点弹性运动的文档类!!现在到这里,未完待续。。。。。

  下面给出文档类全部代码:Demo1.as

package  {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;

public class Demo1 extends Sprite {
  private var ball_arr:Array;
  private var ball_num:Number=4;
  private var spring:Number=0.00006;
  private var friction:Number=0.2;
 
  public function Demo1(){
    for(var i=0;i<ball_num;;i++){   

    var ball:Ball=new Ball(10);
    stage.addChild(ball);
    ball_arr.push(ball);
    ball.x=Math.random()*stage.stageWidth;
    ball.y=Math.random()*stage.stageHeight;
    ball.addEventListener(MouseEvent.MOUSE_DOWN,onMouse_Down);
   }
   stage.addEventListener(Event.ENTER_FRAME,onEnter_Frame);
   stage.addEventListener(MouseEvent.MOUSE_UP,onMouse_Up);
  }
  private function onMouse_Down(evt:MouseEvent){
   evt.target.startDrag();
  }
  private function onMouse_Up(evt:MouseEvent){
   for(var i=0;i<ball_arr.length;i++){
    ball_arr[i].stopDrag();
   }
   //你们的回复是我继续的动力!
  }
  private function onEnter_Frame(evt:Event){
   var ball:Ball=ball_arr[0] as Ball;
   for(var i=1;i<ball_arr.length;i++){
    var ballA:Ball=ball_arr[i] as Ball;
    spring_Move(ball,ballA);
   }
   ball.vx+=ball.ax;ball.vy+=ball.ay;
   ball.vx*=friction;ball.vy*=friction;
   ball.x+=ball.vx;ball.y+=ball.vy;
   this.graphics.clear();
   this.graphics.lineStyle(1);
   for(var i=1;i<ball_arr.length;i++){
    var ballB:Ball=ball_arr[i];
    this.graphics.moveTo(ball.x,ball.y);
    this.graphics.lineTo(ballB.x,ballB.y);
   }
  }
  private function spring_Move(ball0,ball1){
   var dy=ball1.y-ball0.y;
   var dx=ball1.x-ball0.x;
   ball0.ax+=dx*spring;
   ball0.ay+=dy*spring;
  }

}
//谢谢大家,希望各位能学到东西。
}


分享到:
评论

相关推荐

    多点弹性支承下船用螺旋桨轴承的受力与变形分析

    本文运用有限元方法建立多点弹性支承船舶轴系的力学模型,并将该方法应用到船舶轴系的校中计算中。通过实例分析表明,在多点弹性支承下,螺旋桨轴承支承点的位置到螺旋桨的距离略大于单点刚性支承,且在螺旋桨轴承后端点...

    一种工业机器人的多点PTP运动.pdf

    这种方法不仅减少了运动时间,避免了多次启停,还简化了编程,有利于实际生产中的应用和管理。 【关键词】PTP运动,曲线插补,机器人,三次B样条曲线 【参考文献】(此处省略) 综上所述,工业机器人的多点PTP运动...

    网络编程-多点聊天-源码

    //消息类的定义 class CMsg : public CObject { DECLARE_DYNCREATE(CMsg); public: CMsg(); //构造函数 virtual ~CMsg(); //析构函数 virtual void Serialize(CArchive& ar);... //是否关闭状态

    iOS 核心动画编程

    iOS 核心动画编程 本文档介绍了在使用核心动画时所涉及的基本概念。核心动画的是 Objective - C 的框架,它通过简单的动画编程接口来 供一套高性能的动画引擎。 你应该阅读此文档来理解Cocoa应用程序核心动画工作的...

    网络编程多点聊天实验.zip

    2.多点聊天程序:采用C/S模式,服务器可以与多个客户机建立连接,为多个客户机服务。服务器接收客户机发来的消息,然后将它转发给聊天室的其他客户机,从而实现多个客户机之间的交换,服务器动态统计进入聊天室的...

    多点触摸的编程的例子

    这个压缩包提供的资源似乎是一个多点触摸编程的实例,特别的是它能在Windows XP系统上运行,而XP系统本身并不原生支持多点触摸。 首先,"MTTest.as"可能是一个ActionScript文件,ActionScript是用于开发Adobe Flash...

    MovingMultiPoints.zip_MovingMultiPoints_matlab多点运动_距离多普勒_运动 目标 成

    本篇文章将深入探讨如何使用Matlab进行多点运动目标的距离多普勒成像,并通过具体代码实例来解析这一过程。 距离多普勒成像是雷达信号处理的一种基本方法,它结合了距离信息和多普勒频率变化,以形成关于目标位置和...

    网络编程多点聊天源码

    在IT领域,网络编程是构建分布式系统和互联网应用程序的基础,其中多点聊天系统是一个常见的应用场景。本主题聚焦于使用C++进行网络编程实现多点聊天的功能。C++是一种强大且灵活的编程语言,适合开发高性能的网络...

    DAY3 网络编程 多点通信

    DAY3 网络编程 多点通信

    西门子Step7编程深入浅出

    《西门子Step7编程深入浅出》是针对西门子PLC编程软件Step7的一本详尽教程,尤其适合初学者。Step7是西门子为SIMATIC S7系列PLC开发的一款强大且功能丰富的编程工具,广泛应用于工业自动化领域。通过这本书,读者将...

    图片弹性转动放大的图片效果.rar_falsh 图片放大 多点触控

    通过分析和学习这些代码,开发者可以更深入地理解如何在Flash中实现图片的弹性转动和多点触控放大功能,这对于提升互动设计技能非常有帮助。 总结来说,使用Flash和ActionScript实现图片弹性转动及多点触控放大功能...

    多点测温仿真及代码

    在本文中,我们将深入探讨“多点测温仿真及代码”这一主题,它涉及LED显示、51单片机和单总线技术的应用,以及实现0.1度的显示精度。我们将从以下几个方面来详细阐述这个项目: 1. **多点测温系统**: 多点测温...

    多点温度控制系统设计

    多点温度控制系统是一种广泛应用在工业、农业、实验室等多个领域的自动化...总之,多点温度控制系统的设计涉及硬件选择、电路设计、软件编程和控制算法等多个方面,通过合理配置和优化,可以实现高效、精准的温度控制。

    单片机多点测温控制系统

    ### 单片机多点测温控制系统:深入解析与应用 #### 核心知识点概览 1. **系统概述**:介绍单片机多点测温控制系统的整体架构,包括硬件配置、传感器类型(DS18B20)、以及系统的功能特点。 2. **传感器与线性化...

    多点触控的软件

    在软件层面,多点触控涉及到操作系统级别的驱动程序和应用层的编程接口(API)。例如,"defy_more.ko"可能是一个针对特定设备(可能是摩托罗拉Defy系列手机)的内核模块,用于增强或扩展原生的多点触控支持。内核...

    图片多点触控伸缩变换位置

    本文将详细解析"图片多点触控伸缩变换位置"这一主题,帮助你理解如何通过编程实现这个功能。 首先,我们要知道多点触控(Multi-Touch)是指能够同时识别和处理两个或更多触摸输入点的技术。这种技术允许用户通过多...

    C# Winform多点触摸.zip

    在本文中,我们将深入探讨C# Winform应用中实现多点触摸功能的技术细节。C#是一种广泛用于构建桌面和Web应用程序的编程语言,而Winform是.NET Framework的一部分,提供了创建图形用户界面(GUI)的强大工具。多点...

    多点触控控制字体大小

    在Android开发中,多点触控(Multi-Touch)是一种重要的用户交互技术,它允许用户同时使用两个或更多的手指来与设备进行互动。这个“多点触控控制字体大小”的项目是一个很好的示例,用于展示如何在Android应用中...

    多点触摸屏模拟

    本主题将深入探讨多点触摸屏的工作原理、实现技术以及其在不同领域的应用。 一、工作原理 多点触摸屏的核心在于能够识别并处理多个独立的触摸事件。这通常依赖于两种主要的技术:电容感应和光学感应。 1. 电容...

    多点轮播图

    通过分析这些文件,我们可以深入理解如何构建一个完整的多点轮播图,并根据具体需求进行定制和优化。如果需要进一步的代码示例或详细解释,可以参考开源项目或在线教程,如GitHub上的相关项目,它们通常提供了详细的...

Global site tag (gtag.js) - Google Analytics