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来调用。

  • 相关阅读:
    SQL联合查询(内联、左联、右联、全联)的语法
    java动态代理(JDK和cglib)详解
    javascript通过className取得dom集合
    hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等
    Quartz的cron表达式
    DDL语言详解
    键、索引、约束及其区别 理解
    存储过程详解
    求ios开发流程及学习方法
    java接口详解以及与抽象类区别
  • 原文地址:https://www.cnblogs.com/appleseed/p/1292246.html
Copyright © 2011-2022 走看看