zoukankan      html  css  js  c++  java
  • AS3物理引擎APE试用


    APE相对来说比较简单,总共就12个类。以下代码显示了物体做自由落体运动,与另一物体发生碰撞的过程,基本没什么难度~只是APE的试用而已,开发工具为FLEX3。详细的说明见注释。
    import org.cove.ape.*;// 包含ape包

    public var mytester:RectangleParticle;//声明一个矩形物体
    public var mygroup:Group;//声明一个物件组
    public var mytester2:RectangleParticle;
    public var mygroup2:Group

    public function init():void
    {
    // 初始化矩形,设置坐标为200:300,尺寸为200:50,旋转角度0,固定
    mytester=new RectangleParticle(200,300,200,50,0,true);
    // 声明组
    mygroup=new Group();
    // 初始化一个不固定的矩形(受重力影响)
    mytester2=new RectangleParticle(200,0,100,100,0);
    mygroup2=new Group();

    // 向物件组中添加物件
    mygroup.addParticle(mytester);
    mygroup2.addParticle(mytester2);


    stage.frameRate = 55;

    // 初始化引擎
    APEngine.init(0.25);
    // 指定容器
    APEngine.container = stage;
    // 增加物件组
    APEngine.addGroup(mygroup);
    APEngine.addGroup(mygroup2);
    APEngine.addForce(new Vector(0, 9.8));
    // 规定碰撞检测,为mygorup指定检测对象为mygroup2
    mygroup.addCollidable(mygroup2);

    stage.addEventListener(MouseEvent.CLICK, mouseup);
    // 刷新场景
    stage.addEventListener(Event.ENTER_FRAME,run)
    }

    public function run(e:Event):void
    {
    APEngine.step();
    APEngine.paint();
    }

    public function mouseup(e:MouseEvent):void
    {
    mytester.radian=10;
    }
    其中函数run必须要在影片播放中不断执行,以刷新各物件新的位置,因此需要通过Event.ENTER_FRAME来调用。

  • 相关阅读:
    Druid数据库连接池源码分析
    彻底理解Java的Future模式
    CountDownLatch与CyclicBarrier
    Semaphore实现原理分析
    ThreadLocal类分析
    Atomic类和CAS
    synchronized VS Lock, wait-notify VS Condition
    Klass与Oop
    JVM类加载以及执行的实战
    123
  • 原文地址:https://www.cnblogs.com/appleseed/p/1292246.html
Copyright © 2011-2022 走看看