Java简单物理引擎
- 格式:doc
- 大小:120.00 KB
- 文档页数:21
java模板引擎哪个好在Java开发中,常常需要使用模板引擎来实现动态模板的渲染,从而实现页面的生成、文本文件的生成等功能。
目前市面上有很多优秀的Java模板引擎,下面介绍几种常用的Java模板引擎,以供参考。
1. FreeMarkerFreeMarker是常用的Java模板引擎之一,它以简单的语法和高效的性能而著称。
它支持多种数据源,包括POJO、Map和XML 等,同时也支持一些高级特性,如模板继承、条件判断等。
与其他模板引擎不同,FreeMarker只提供模板渲染功能,不涉及到应用框架和业务逻辑。
由于其性能出众和易用性,FreeMarker在企业级Web应用开发中得到广泛应用。
2. VelocityVelocity是一个轻量级的模板引擎,它来自于Apache软件基金会。
Velocity具有简单实用的语法,易于入门。
它支持多种模板格式,包括HTML、XML和JSON等,同时还支持模板继承和条件判断等特性。
与其他模板引擎不同,Velocity具有较强的可扩展性,可以通过插件机制扩展模板引擎的功能。
3. ThymeleafThymeleaf是一个现代化的服务器端Java模板引擎,它通过自然语言的语法来处理模板,并且允许使用HTML、XML、JavaScript等格式的模板。
Thymeleaf不只是一个静态页面渲染引擎,它还可以轻松地集成到SpringMVC等Web框架中,实现动态模板的渲染和数据绑定等功能。
Thymeleaf还可以处理国际化、表单处理、格式化、URL处理等特性,具有很强的可扩展性。
4. JtwigJtwig是一个快速而灵活的Java模板引擎,它支持多种数据源,包括Map、POJO和Spring框架中的Bean等。
Jtwig同样支持模板继承、条件判断、循环迭代等特性,同时还提供了丰富的标签和过滤器,支持自定义标签和过滤器的扩展。
Jtwig提供了丰富的模板格式,包括HTML、XML、JSON和Markdown等。
物理引擎介绍范文物理引擎是一种用于模拟物理现象的计算机程序或模块。
它可以在计算机图形、游戏开发和虚拟现实等领域中模拟真实物理效果,使得物体之间的交互和运动更加真实和逼真。
本文将介绍物理引擎的基本原理、分类及其应用。
一、物理引擎的基本原理物理引擎基于牛顿力学和其他物理学原理,通过数值计算来模拟物理现象。
它将现实世界中的物体抽象为形状(如球体、盒子等)和质量,并考虑物体之间的相互作用,如重力、碰撞、摩擦等。
物理引擎使用数值积分方法来求解物体的运动方程,从而计算物体的位置、速度和加速度等属性。
物理引擎主要包括以下几个基本元素:1.物体(RigidBody):由形状(Shape)和质量(Mass)组成,可以受到外力和内部作用力的影响。
2.碰撞检测(Collision Detection):用于检测物体之间的碰撞,以及计算碰撞的发生时间和碰撞点。
3.碰撞响应(Collision Response):在物体发生碰撞时,计算碰撞后物体的运动状态,包括位置、速度和旋转等。
4.力和力场(Forces and Force Fields):根据物体所处的环境和条件,施加力或者在一定区域内产生力场,模拟真实世界中的各种力。
5.约束(Constraint):通过约束来限制物体的自由度,如固定点、限制运动范围等。
常用的约束包括关节、弹簧等。
二、物理引擎的分类根据模拟的物理效果和应用领域的不同,物理引擎可以分为以下几类:1.刚体物理引擎(Rigid Body Physics Engine):主要用于模拟刚体的运动和碰撞,适用于计算机图形和游戏开发等领域。
刚体物理引擎一般考虑质量、形状和碰撞等因素,可以模拟物体之间的相互作用和运动效果。
2.流体物理引擎(Fluid Physics Engine):用于模拟液体和气体等流体的运动和效果,适用于电影特效、游戏开发和工程模拟等领域。
流体物理引擎一般基于流体动力学原理,计算流体的速度、压力、密度等属性,可以模拟流体的流动、湍流等效果。
java模板引擎velocity 方法(原创版3篇)目录(篇1)1.Java 模板引擎 Velocity 简介2.Velocity 的使用方法3.Velocity 的优点和局限性正文(篇1)【Java 模板引擎 Velocity 简介】Java 模板引擎 Velocity 是一种基于 Java 的模板引擎,它可以使用简单的模板语法来生成动态的 HTML、XML、JavaScript、CSS 等文件。
Velocity 可以很好地与 Java 集成,使得开发人员可以方便地使用模板来生成各种类型的文档。
【Velocity 的使用方法】要使用 Velocity,首先需要下载并添加 Velocity 的依赖库到项目中。
然后,可以按照以下步骤来使用 Velocity:1.创建一个 Velocity 配置文件(如:velocity.properties),在该文件中可以配置 Velocity 的一些参数,如:输出目录、编码方式等。
2.创建一个模板文件(如:template.vm),在该文件中编写 Velocity 模板语法,并使用特殊的变量(如:${variable})来表示需要替换的实际值。
3.编写一个 Java 程序,使用 Velocity 的 API 来读取模板文件,并将实际值传递给模板,生成最终的输出文件。
以下是一个简单的 Velocity 使用方法示例:```javaimport java.io.File;import java.io.IOException;import java.util.HashMap;import java.util.Map;import org.apache.velocity.Template;import org.apache.velocity.TemplateException;import org.apache.velocity.VelocityContext;import org.apache.velocity.app.Velocity;public class VelocityDemo {public static void main(String[] args) {// 创建 Velocity 配置Velocity.setPropertyFile("velocity.properties"); // 创建 Velocity 上下文VelocityContext context = new VelocityContext(); // 设置模板文件路径String templatePath = "template.vm";// 设置需要替换的实际值Map<String, Object> variables = new HashMap<>(); variables.put("name", "张三");variables.put("age", 20);// 渲染模板try {Template template =Velocity.getTemplate(templatePath);String result = template.render(context, variables);File outputFile = new File("output.html");outputFile.getParentFile().mkdirs();outputFile.createNewFile();outputFile.write(result);} catch (IOException | TemplateException e) {e.printStackTrace();}}}```【Velocity 的优点和局限性】Velocity 的优点包括:1.易于学习和使用:Velocity 的语法简单,开发人员可以快速掌握并应用到项目中。
游戏开发中基于Unity的物理引擎使用教程Unity是一款强大的游戏开发引擎,其内置的物理引擎使开发者能够轻松地实现真实的物理效果。
在这篇文章中,我们将探讨Unity中基于物理引擎的使用教程,帮助您了解如何在游戏开发中利用物理引擎创建逼真的物理效果。
一、物理引擎的基本概念在介绍如何使用Unity中的物理引擎之前,我们首先需要了解一些基本概念。
物理引擎是一种模拟现实世界中物体运动和互动的工具,它可以模拟重力、摩擦、碰撞等物理效果。
Unity中的物理引擎主要基于 Newtonian Physics (牛顿物理学)。
二、启用物理引擎在Unity中,启用物理引擎非常简单。
首先,确保您的场景中存在一个用于运行物理模拟的物理空间,可以在Hierarchy面板中创建一个Empty Game Object作为容器。
然后,在Inspector面板中,点击“Add Component”按钮,选择“Physics”中的“Rigidbody”组件,并将其添加到物理空间对象上。
三、刚体和碰撞体在Unity中,物理引擎中的物体主要分为两种类型:刚体和碰撞体。
刚体是受物理引擎控制的对象,具有质量、位置和速度等属性。
刚体之间的相互作用可以通过碰撞来实现。
碰撞体是用来检测碰撞的组件,可以与其他碰撞体进行互动。
四、使用刚体组件为了让物体受到物理引擎的控制,需要给物体添加刚体组件。
选择你想要添加刚体的游戏对象,在Inspector面板中点击“Add Component”按钮,选择“Physics”中的“Rigidbody”组件。
刚体组件有一些可调节的属性,可以根据需求来设置。
例如,我们可以设置物体的质量、是否受到重力影响以及是否可以旋转等。
通过调整这些属性,我们可以创建不同的物理效果。
五、使用碰撞器组件为了让物体能够检测碰撞和互动,需要给物体添加碰撞器组件。
选择你想要添加碰撞器的游戏对象,在Inspector面板中点击“Add Component”按钮,选择“Physics”中的“Collider”组件。
Java的游戏开发引擎快速构建精美的游戏Java作为一种高级编程语言,已经在各个领域发挥了重要的作用。
而在游戏开发领域,Java的游戏开发引擎更是给开发者带来了很多便利。
本文将介绍Java的游戏开发引擎以及如何利用它来快速构建精美的游戏。
一、什么是游戏开发引擎?游戏开发引擎是一种软件框架,提供了一系列的工具和功能,帮助开发者实现游戏的各个方面,包括图形渲染、物理模拟、碰撞检测、音效处理等。
游戏开发引擎能够大大简化游戏开发的过程,提高开发效率。
二、Java的游戏开发引擎有哪些?1. jMonkeyEnginejMonkeyEngine是一款基于Java的开源游戏引擎,它提供了强大的图形渲染功能和跨平台支持。
jMonkeyEngine使用OpenGL进行图形渲染,并且支持多种物理引擎,如Bullet Physics和jBullet。
它还提供了一套完整的工具和库,使开发者能够轻松创建3D游戏。
2. libGDXlibGDX是一款跨平台的Java游戏开发框架,它支持Android、iOS、Web等多个平台。
libGDX提供了丰富的API和工具,开发者可以使用它来创建2D和3D游戏。
同时,libGDX还有很多开源的扩展库和工具,方便开发者进行游戏开发。
3. Unity3D虽然Unity3D是一款主要面向C#开发的游戏引擎,但它同样支持Java语言。
Unity3D是一款非常强大的游戏引擎,拥有丰富的资源和强大的图形渲染能力。
开发者可以使用Unity3D来创建各种类型的游戏,包括2D和3D游戏。
三、如何使用Java的游戏开发引擎构建精美的游戏?1. 熟悉游戏开发引擎的API要使用Java的游戏开发引擎构建精美的游戏,首先需要熟悉该引擎的API文档。
掌握API的使用方法可以帮助开发者更好地理解游戏引擎的功能和特性,从而提高开发效率。
2. 设计游戏的场景和角色在开始开发游戏之前,需要对游戏进行整体的设计和规划。
包括确定游戏的场景、角色、故事情节等。
Android游戏开发教程前言随着移动设备的普及,Android平台上的游戏市场蓬勃发展。
越来越多的人开始对Android游戏开发产生兴趣。
本文将介绍一些基本的Android游戏开发知识,帮助初学者快速入门。
1. Android游戏开发简介Android游戏开发是指在Android平台上开发游戏应用程序。
Android提供了强大的开发工具和丰富的API,使得游戏开发变得更加简单和高效。
2. 开发环境搭建要开始Android游戏开发,您需要搭建适当的开发环境。
以下是搭建开发环境的步骤:•安装Java开发工具包(JDK)•安装Android开发工具包(Android SDK)•配置Android开发环境•使用Android Studio进行开发3. 游戏开发基础知识在开始Android游戏开发之前,了解一些基本的游戏开发知识将会非常有帮助。
以下是一些重要的概念:•游戏循环:游戏循环是指游戏的主要执行逻辑。
它通常包含三个主要阶段:输入处理、更新游戏状态和渲染。
•游戏物体:游戏物体是游戏中的所有实体,如角色、地图、道具等。
它们具有属性和行为,可以根据游戏逻辑进行交互。
•物理引擎:物理引擎用于模拟现实世界的物理规则,如重力、碰撞等。
它可以使游戏更加真实和流畅。
•图形和动画:游戏中的图形和动画是吸引玩家的重要因素。
Android提供了丰富的图形和动画库,可以帮助您创建精美的游戏界面。
4. Android游戏开发框架在Android游戏开发中,使用游戏开发框架可以加快开发速度并提高代码质量。
以下是一些常用的Android游戏开发框架:•Unity:Unity是一款强大的跨平台游戏开发引擎,支持Android平台。
它提供了丰富的功能和工具,可以帮助开发者创建各种类型的游戏。
•LibGDX:LibGDX是一款轻量级的游戏开发框架,它基于Java语言,支持Android平台。
它提供了简单易用的API和丰富的扩展功能,适合初学者和中级开发者使用。
jr练习题一、基础概念理解1. 请简述计算机操作系统的基本功能。
2. 解释什么是进程和线程,它们之间的区别是什么?3. 描述计算机网络中的TCP/IP模型及其各层的主要功能。
4. 请列举五种常见的数据结构,并简要说明它们的特点。
5. 解释什么是面向对象编程,请列举三个面向对象编程的基本特征。
二、编程实践1. 编写一个Python程序,实现一个简单的计算器功能,包括加、减、乘、除四种运算。
2. 编写一个C++程序,实现一个单链表的基本操作,包括插入、删除、查找和打印。
3. 编写一个Java程序,实现一个栈的数据结构,并使用该栈实现一个字符串的反转功能。
4. 编写一个JavaScript函数,实现一个简单的购物车功能,包括添加商品、删除商品和计算总价。
5. 编写一个HTML和CSS代码,实现一个简单的网页布局,包括头部、导航栏、内容区域和页脚。
三、算法与数据结构1. 请描述快速排序算法的基本思想和步骤。
2. 给定一个整数数组,编写一个程序找出数组中的最大值和最小值。
3. 请实现一个二分查找算法,用于在一个有序数组中查找特定的元素。
4. 编写一个程序,实现一个循环队列的数据结构,并实现入队和出队操作。
5. 请描述图的深度优先搜索(DFS)和广度优先搜索(BFS)算法,并给出一个简单的实现。
四、数据库操作1. 请简述关系型数据库的主要特点。
2. 解释SQL语言的作用和基本语法。
3. 编写一个SQL查询语句,查询某张表中的所有记录。
4. 请描述数据库事务的基本概念,以及事务的四大特性。
5. 编写一个SQL查询语句,实现多表连接查询。
五、计算机网络1. 请简述HTTP协议的基本工作原理。
2. 解释什么是IP地址,请描述IPv4和IPv6的区别。
3. 请描述网络攻击中的DDoS攻击原理及防御措施。
4. 解释什么是网络层,请列举网络层的主要协议。
5. 请简述路由器和交换机的区别。
六、操作系统1. 请描述进程调度算法中的先来先服务(FCFS)和短作业优先(SJF)算法。
Java规则引擎:Drools和JRules引言在软件开发中,处理业务逻辑和规则是非常重要的一部分。
传统的方法是将这些规则硬编码到应用程序中,这样一来,每当规则发生变化时,都需要修改和重新部署整个应用程序。
这种方式显然不够灵活和易于维护。
为了解决这个问题,出现了规则引擎。
规则引擎是一种能够将业务规则从应用程序中分离出来,以便在运行时动态加载和执行的软件组件。
Java语言中有许多优秀的规则引擎,其中两个最受欢迎的是Drools和JRules。
本文将介绍这两个规则引擎的特点、优势和用法。
一、Drools1.1 特点Drools是一个基于Java的开源规则引擎,由Jboss社区开发和维护。
它提供了一种声明式的规则语言,称为DRL(Drools Rule Language),以及一个规则引擎,用于加载和执行这些规则。
Drools支持复杂的规则和事件处理,能够处理大规模的数据和规则集。
1.2 优势Drools具有许多优势,使其成为开发人员首选的规则引擎。
首先,Drools具有强大的规则语言和表达能力。
DRL语言使用自然语言的方式描述规则,易于理解和维护。
它支持多种规则类型,如条件规则、动作规则和查询规则,可以轻松处理复杂的业务逻辑。
其次,Drools具有灵活的规则引擎和推理机制。
它能够处理不同类型的规则,如前向链式规则、后向链式规则和决策表规则。
它还支持基于事件的规则和实时规则,可以根据不同的需求选择合适的规则执行方式。
最后,Drools提供了丰富的工具和插件,使规则的开发和管理更加简单和高效。
它提供了一个图形化的规则编辑器,可以帮助开发人员可视化地创建和编辑规则。
此外,Drools还支持与其他技术的集成,如Spring框架和RESTful服务,使其更易于集成到现有的应用程序中。
1.3 用法Drools的使用非常简单和灵活。
首先,我们需要定义规则,可以使用DRL语言编写规则文件,也可以使用图形化的规则编辑器创建规则。
游戏引擎大全免费和开源引擎Agar –一个高级图形应用程序框架,用于2D和3D游戏。
Allegro –基于C/C++ 的游戏引擎,支持图形,声音,输入,游戏时钟,浮点,压缩文件以及GUI。
Axiom 引擎– OGRE的衍生引擎。
Baja 引擎–专业品质的图像引擎,用于The Lost Mansion。
Boom – Doom代码的一部分。
由TeamTNT开发Build 引擎–一个第一人称射击游戏引擎,用于Duke Nukem 3D。
Bullet –开源物理引擎,广泛应用在各大游戏主机。
BYOND –“Build Your Own Net Dream”的縮写,支持各种类型的游戏,包括MMORPG。
Ca3D-引擎–一个比较成熟的引擎,有自己的SDK,世界编辑器等。
Cadabra 3D 引擎–用于快速开发3D游戏。
Catmother –一个基于BSD授权的引擎,只限个人使用,不能做商业用途。
是一家游戏公司的开源引擎。
CheapHack –一个已经过时的TomazQuake衍生引擎。
Crystal Entity Layer – Crystal Space 3D 引擎的扩充Crystal Space – 3D应用程序的常规框架。
Cube –Cube2 ──> SauerbratenDarkPlaces –高级开源3D引擎之一。
Delta3d –整合和其他知名免费引擎,最初由美国军方开发。
DGD –一个面向对象的MUD引擎。
Doom 引擎–现在已经免费的引擎,曾用于Doom和Doom IIDXFramework –一个简单,带有教学性质的2D/3D引擎,基于DirectX和Visual Studio DX Studio –一个专业3D引擎,附带编辑器套件,由Worldweaver公司开发。
Eclipse –一个2D MMORPG编辑器。
Elysium Source – 2D网络游戏引擎,VB6开发。
Engine 001 – 2D 动作类RPG游戏编辑器。
跳一跳游戏(Android应用使用Java开发)跳一跳游戏是一款简单而又富有挑战性的休闲游戏,经常出现在我们的手机屏幕上。
本文将介绍跳一跳游戏的开发过程,使用Java语言在Android平台上实现。
1. 游戏概述跳一跳是一款基于物理引擎的游戏,玩家通过点击屏幕来控制角色跳跃,目的是在不碰到障碍物的情况下尽可能远地跳跃。
游戏界面简洁明了,操作简单直观,非常受欢迎。
2. 技术要求为了实现跳一跳游戏,我们需要使用Java语言进行Android应用开发。
除此之外,还需要掌握Android开发框架和物理引擎的使用,以及基本的游戏逻辑设计。
3. 开发环境搭建首先,我们需要安装Android Studio,这是一款专门用于Android应用开发的集成开发环境(IDE)。
然后,我们需要下载并配置Java Development Kit(JDK),确保Android Studio可以正常编译和运行我们的代码。
4. 项目创建在Android Studio中,我们可以通过创建一个新项目来开始跳一跳游戏的开发。
在创建项目的过程中,我们可以选择一些基本的配置,例如应用名称、包名、最低支持的Android版本等。
5. 游戏界面设计跳一跳游戏的界面主要由两个部分组成:游戏区域和角色。
游戏区域通常是一个类似于方块的地图,上面有随机生成的障碍物。
角色则是一个小球,玩家通过点击屏幕来控制角色的跳跃。
6. 游戏逻辑设计在跳一跳游戏中,玩家通过点击屏幕控制角色的跳跃力度。
跳跃的力度决定了角色跳跃的高度和距离。
玩家需要在不碰到障碍物的情况下跳跃到另一个平台上,每次跳跃成功都会获得一定的分数。
7. 物理引擎应用为了实现跳一跳游戏中的物理效果,我们可以使用一些开源的物理引擎库,例如Box2D。
物理引擎可以模拟真实世界中的物理效果,使得角色的跳跃和碰撞更加逼真。
8. 分数统计与排名为了增加游戏的竞争性和挑战性,我们可以在跳一跳游戏中添加分数统计和排名功能。
这款引擎本来是FLASH版本的,后来移植到JAVA和C++版本,但是JAVA版本貌似和C++版本不同,我也没有深究,这款引擎比较适合做简单的物理游戏,速度比JBOX2D要快的多,有兴趣的朋友可以试试。
APE(物力引擎)APE,设么是APE呢。
APE(Actionscript Physics Engine)是一个ActionScript3写成的物理引擎,用于模拟现实中物体发生的运动和碰撞。
它是免费、开源的,遵循MIT协议。
看来特别适用用来做游戏开发,已经有许多很有趣的应用使用这个开发的。
现提供了Java Port,和C++ SDL Port官方网址为:/ape/下载地址为:/ape/ape_a045.zip(包含两个demo,api,swc文件,和源码)官网的两个例子:Demo1:/ape/demo1.htmDemo2: /ape/demo2.htmAPI地址: /ape/docs/api/下面中文版,网上搜集的APE中总共才12个类,用起来相当的方便。
这12个类的继承关系如下:目录:AbstractCollectionGroupCompositeAbstractItemAbstractConstraintSpringConstraintAbstractParticleRectangleParticleCircleParticleWheelParticleVectorAPEngineAbstractCollection(子类有:Group和Composite)此类为群组性的基类。
你不应实例化这个类,而应该使用该类的子类。
属性:constraints 属性constraints:Array [只读]一个数组,包含所有被加入到AbstractCollection中的AbstractConstraint类的实例。
particles 属性particles:Array [只读]一个数组,包含所有被加入到AbstractCollection中的AbstractParticle类的实例。
sprite 属性sprite:Sprite [只读]为渲染和增加children而提供的作为容器使用的Sprite。
当这个sprite第一次被请求时,这个sprite会自动的加入到APEngine类的全局容器中。
构造函数:public function AbstractCollection()方法:addConstraint () 方法public function addConstraint(c:AbstractConstraint):void在收集器中增加一个约束。
参数c:AbstractConstraint —被加入的约束.addParticle () 方法public function addParticle(p:AbstractParticle):void在AbstractCollection中加入一个AbstractParticle参数p:AbstractParticle —被加入的粒子cleanup () 方法public function cleanup():void调用AbstractCollection每个成员的cleanup()方法. 当AbstractCollection 从他的父容器中被移除的话,cleanup()方法会自动的被调用。
getAll () 方法public function getAll():Array返回一个数组,这个数组包含被加入到AbstractCollection.中的每一个粒子和约束。
init () 方法public function init():void通过调用每一个成员的init()方法实例化这个AbstractCollection的每一个成员。
paint () 方法public function paint():void通过调用每一个成员的paint()方法来渲染AbstractCollection的每个成员。
removeConstraint () 方法public function removeConstraint(c:AbstractConstraint):void从收集器中删除参数指定的约束。
参数c:AbstractConstraint —将被移除的约束。
removeParticle ()方法public function removeParticle(p:AbstractParticle):void从AbstractCollection中移除一个AbstractParticle参数p:AbstractParticle —将被移除的粒子——————————————————————————————————————————————————————————————————————————————Group(继承自AbstractCollection)组可以包含粒子,约束和复合体。
组可以被设置为和其他的组进行碰撞检测。
属性:collideInternal:Boolean [读写]决定这个组内的成员彼此是否进行碰撞检测;collisionList:Array [只读]返回一个数组,这个数组包含所有和这个组进行碰撞检测的所有组的实例。
composites:Array [只读]返回一个数组,这个数组包含所有加入到这个组的复合体。
构造函数public function Group(collideInternal:Boolean = false)Group是APE中的主要的用于组织的类。
一旦创建了组,并把粒子,约束,复合体加入组,那么这些东西也就加入了APEngine。
组可以包含粒子,约束和复合体。
复合体只能包含粒子和约束。
参数:collideInternal:Boolean (default = false)方法:addCollidable()方法addCollidable(g:Group):void加入一个组的实例与这个组进行碰撞检测。
addCollidableList()方法public function addCollidableList(list:Array):void加入AbstractCollection实例的数组,让数组中的元素与这个组进行碰撞检测。
addComposite()方法public function addComposite(c:Composite):void在这个组中加入复合体cleanup()方法public override function cleanup():void调用组的cleanup()方法将会调用组中所有成员的cleanup()方法。
当组从APEngine 引擎中移除时,组的cleanup()方法会自动的调用。
getAll()方法public override function getAll():Array返回一个包含组中所有粒子,约束,复合体的数组。
init()public override function init():void通过依次调用组中每个成员的init()方法来初始化组中的每个成员。
paint()方法public override function paint():voidPaints 组中的所有成员. 这个方法由APEngine 类自动的调用。
removeCollidable()方法public function removeCollidable(g:Group):void从这个组的collidable list中移除一个组。
removeComposite()方法public function removeComposite(c:Composite):void从组中移除复合体。
————————————————————————————————————————————————————————————————————Composite(继承自AbstractCollection)复合体可以包含粒子和约束。
复合体可以加入到一个组中,就像粒子和约束一样。
注意:复合体中的成员彼此不能进行碰撞检测。
属性:fixed:Boolean [读写]决定复合体的状态是否固定。
设置这个值为true或false将会设置复合体中所有组成的粒子的固定状态为true或false。
当复合体中的任何一个粒子的状态为不固定时,这个值返回的都为false。
构造函数:public function Composite()方法:rotateByAngle()方法public function rotateByAngle(angleDegrees:Number, center:Vector):void围绕给定的中心,使复合体旋转参数指定的角度。
rotateByRadian()方法public function rotateByRadian(angleRadians:Number, center:Vector):void围绕给定的中心,使复合体旋转参数指定的弧度。
————————————————————————————————————————————————————————————————————AbstractItem(子类有:AbstractConstraint和AbstractParticle)所有约束和粒子的基类属性alwaysRepaint 属性alwaysRepaint:Boolean [read-write]为了更好的运行,为了避免不必要的重绘,固定的粒子和弹性约束不需要调用他们的paint ()方法,当一个弹性约束的两端所连接的粒子是固定的话,那么这个弹性约束被认为是固定的。
这个属性设置为true的时候,如果粒子和弹性约束的fixed属性也为true的时候,粒子和弹性约束的paint()方法会被强制调用。
如果你想要旋转固定的粒子和弹性约束的话,你应该设置他们的repaintFixed属性为true。
如果粒子和弹性约束不是固定的话,alwaysRepaint属性是没有效果的。
sprite 属性sprite:Sprite [只读]为渲染和增加children而提供的作为容器使用的Sprite。
当这个sprite第一次被请求时,这个sprite会自动的加入到APEngine类的全局容器中。
visible 属性visible:Boolean [只写]决定这个项是否可见。
构造函数AbstractItem ()public function AbstractItem()方法cleanup () 方法public function cleanup():void当包含一个项目(粒子或约束)的组(组或复合体)从APEngine移除的时候,这个方法被自动的调用。