Coder Social home page Coder Social logo

owner2008 / cadetengine-as Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cadeteditor/cadetengine-as

0.0 2.0 0.0 11.75 MB

CadetEngine is a component-based AS3 Scene Engine supporting 2D and 3D GPU accelerated rendering, physics, custom behaviours and 3rd party library integration. It has been designed from the ground up to be plug-and-play with editability in mind.

Home Page: https://github.com/CadetEditor/CadetEngine-as/wiki

License: Other

cadetengine-as's Introduction

CadetEngine

CadetEngine is a component-based AS3 Scene Engine supporting 2D and 3D GPU accelerated rendering, physics, custom behaviours and 3rd party library integration.

The CadetEngine framework supports extensibility by being separated into tiers, each tier augments the Cadet core library via its own ActionScript Library project.

Cadet (core)

Dependencies: CoreApp

Cadet is the core scene engine, a bare bones structure containing (amongst others) the classes Component, ComponentContainer and CadetScene. All children of the CadetScene must be Components and all Components which have children must be ComponentContainers, for instance, CadetScene extends ComponentContainer, which in turn extends Component.

The Cadet core library can be used in conjunction with vanilla Starling, Away3D, etc projects in order to add game processes and behaviours. However, if you wish to integrate Cadet projects with the CadetEditor, the Cadet2D and Cadet3D libraries must be used. Cadet2D and Cadet3D wrap up Starling and Away3D implementations respectively via a single layer of abstraction, providing a simple wrapper API which allows specific properties to be inspectable via the property inspector and serializable using the serialization lib. Cadet2D and Cadet3D give Starling and Away3D a presence in the Cadet scene graph in the same way Cadet2DBox2D gives Box2D a presence in the scene graph. The CadetEditor solely acts upon the Cadet scene graph, so anything that needs to be editable needs to have a presence within it.

It's worth noting that Cadet doesn't get mixed up in the internal execution of any 3rd party libraries, it simply provides hooks for adding and removing entities to/from those libraries, and adding/removing instances of the libraries themselves; it does all of this by simply calling the 3rd party library's public API.

Examples

Cadet2D

Dependencies: Cadet (core), CoreApp, Starling, Starling-Extension-Graphics, Starling-Extension-Particle-System

Cadet2D augments Cadet with 2D Rendering capability (via Starling and Starling-Extension-Graphics) and adds various 2D-specific geometries, skins, behaviours and processes. It also supports particles via Starling-Extension-Particle-System.

Examples

Cadet2DBox2D

Dependencies: Cadet (core), Cadet2D

Cadet2DBox2D augments Cadet2D with a suite of physics behaviours and processes powered by the Box2D library. Cadet2DBox2D has been separated from Cadet2D in order to allow Cadet2D to be augmented by other physics engines without bundling all of the various implementations into one bloated library. It may also be the case that the user wishes to simply use Cadet2D without requiring physics.

Examples

Cadet3D

Dependencies: Cadet (core), CoreApp, Away3D

Cadet3D augments Cadet with 3D Rendering capability (via Away3D) and various 3D-specific geometries, materials, lights, cameras, textures, etc.

Examples

Cadet3DPhysics

Dependencies: Cadet (core), Cadet3D, AwayPhysics

Cadet3DPhysics augments Cadet3D with physics behaviours and processes powered by the AwayPhysics library. Cadet3DPhysics has been separated from Cadet3D as users may wish to simply use Cadet3D and not require physics, or perhaps try a different physics engine.

Examples

cadetengine-as's People

Contributors

robsilv avatar edsilv avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.