<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.starling-framework.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.starling-framework.org/feed.php">
        <title>Starling Wiki - citrus</title>
        <description></description>
        <link>https://wiki.starling-framework.org/</link>
        <image rdf:resource="https://wiki.starling-framework.org/_media/wiki/dokuwiki.svg" />
       <dc:date>2026-04-20T11:21:16+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/camera"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/citrusengine_class"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/citrusobject"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/citrussprite"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/console"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/examples"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/gamedata"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/input"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/multi_resolution"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/object_pooling"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/objectmakers"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/physics"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/platformer_kit"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/project_setup"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/set-up-the-engine"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/sound"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/start"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/state"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/structure"/>
                <rdf:li rdf:resource="https://wiki.starling-framework.org/citrus/views"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.starling-framework.org/_media/wiki/dokuwiki.svg">
        <title>Starling Wiki</title>
        <link>https://wiki.starling-framework.org/</link>
        <url>https://wiki.starling-framework.org/_media/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.starling-framework.org/citrus/camera">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-01T13:18:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Camera</title>
        <link>https://wiki.starling-framework.org/citrus/camera</link>
        <description>Camera

The camera system is simple, but allows for zooming control, camera rotation, target tracking and bounding the movement of the camera within a space when required.

The camera is always required when your game is bigger than the screen its running in, though some apps don&#039;t require it so its not setup by default. In this article we&#039;ll learn how to set the camera up and manipulate it.</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/citrusengine_class">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-20T10:58:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>The CitrusEngine main class and its children</title>
        <link>https://wiki.starling-framework.org/citrus/citrusengine_class</link>
        <description>The CitrusEngine main class and its children

When you want to create a game using the Citrus Engine, your Main class will extend the CitrusEngine class. Note it&#039;s also possible to integrate in your website a game made with the Citrus Engine via a SWF file, or create subclass which will instantiate and remove the Citrus Engine game.</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/citrusobject">
        <dc:format>text/html</dc:format>
        <dc:date>2013-06-25T08:51:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>The CitrusObject</title>
        <link>https://wiki.starling-framework.org/citrus/citrusobject</link>
        <description>The CitrusObject

The CitrusObject class is the foundational object that should be used for all game objects logic you create, such as spaceships, enemies, coins, bosses. CitrusObject is basically an abstract class that gets added to a State instance. The current State calls update on all CitrusObjects. Also, CitrusObjects are useful because they can be initialized with a params object, which can be created via an object parser/factory.</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/citrussprite">
        <dc:format>text/html</dc:format>
        <dc:date>2013-02-04T17:17:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>The CitrusSprite</title>
        <link>https://wiki.starling-framework.org/citrus/citrussprite</link>
        <description>The CitrusSprite

This is the primary class for creating graphical game objects. You should override this class to add logic to your game object such as a Spaceship, Hero. This is the equivalent of the Flash Sprite. It has common properties that are required for properly displaying and positioning objects. If you wish to use physics engine, take a look on the</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/console">
        <dc:format>text/html</dc:format>
        <dc:date>2013-01-29T18:14:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>The Console utility</title>
        <link>https://wiki.starling-framework.org/citrus/console</link>
        <description>The Console utility

The Console is a command line console that you can implement into your ActionScript projects to make calling commands, methods, and debugging faster. It enables live edit.

Working on commercial games has shown us how useful this utility can be when used on larger projects, these consoles are very common in game engine projects.
There is a</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/examples">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-10T07:59:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Compile the examples</title>
        <link>https://wiki.starling-framework.org/citrus/examples</link>
        <description>Compile the examples

The Citrus Engine has many code examples ready to compile and test on its GitHub repository including free assets.

Thanks to their package name in their src folder, it&#039;s easy to choose the demo you want to test. Follow the instruction in the main file!</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/gamedata">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-11T00:14:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Saves game data</title>
        <link>https://wiki.starling-framework.org/citrus/gamedata</link>
        <description>Saves game data

In most of your games, you want to be able to save player progression through levels, across game session, across devices, etc. Here are some tips to have a first run with game data manipulation.

Temporary

Like many arcade game, if you just need to save score, lives through levels and</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/input">
        <dc:format>text/html</dc:format>
        <dc:date>2018-07-25T11:38:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Input Manager</title>
        <link>https://wiki.starling-framework.org/citrus/input</link>
        <description>Input Manager

Introduction

The Input System has seen some evolution, from managing only keyboard input to virtually any possible input you want - so long as you create them by extending the InputController class. We&#039;ve introduced some ideas to simplify input management such as actions (see the</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/multi_resolution">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-14T13:44:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Multi Resolution</title>
        <link>https://wiki.starling-framework.org/citrus/multi_resolution</link>
        <description>Multi Resolution

Introduction

This article concerns StarlingCitrusEngine and how to manage multi-resolution using Citrus Engine.

The features explained in this article should be considered even if you&#039;re not targeting mobile; not only to make possible ports easier in the future for your project, but also so you integrate the workflow and see that even for a non-mobile game you might save some lines of codes and troubles by making use of them. In the end, you will also possibly configure all o…</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/object_pooling">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-14T13:45:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Object Pooling</title>
        <link>https://wiki.starling-framework.org/citrus/object_pooling</link>
        <description>Object Pooling

Introduction

The object pooling system is available for any base object via PoolObject.

note that pooled objects are not in the state&#039;s internal list of objects,
kill = true will not destroy them, instead the pool object will handle its collection,</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/objectmakers">
        <dc:format>text/html</dc:format>
        <dc:date>2019-02-14T13:47:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Object Makers via Level Editors</title>
        <link>https://wiki.starling-framework.org/citrus/objectmakers</link>
        <description>Object Makers via Level Editors

When you want to create a game, it&#039;s important to use level editors. They will help you to create quickly several levels for your game.
Using a level editor may also give the power to graphics or game designer to modify the level (change object position, add objects) to make some tests.</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/physics">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-15T02:35:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Physics engine</title>
        <link>https://wiki.starling-framework.org/citrus/physics</link>
        <description>Physics engine

The Citrus Engine supports Box2D and Nape physics engine. Those engines are top gun features to make complex game behavior: collision detection, real physics simulation, raycasting, ... You should have a look on their documentation for understanding the basis of a physics engine.</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/platformer_kit">
        <dc:format>text/html</dc:format>
        <dc:date>2014-03-09T19:29:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>The Platformer Kit</title>
        <link>https://wiki.starling-framework.org/citrus/platformer_kit</link>
        <description>The Platformer Kit</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/project_setup">
        <dc:format>text/html</dc:format>
        <dc:date>2014-06-17T08:01:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Project Setup</title>
        <link>https://wiki.starling-framework.org/citrus/project_setup</link>
        <description>Project Setup

This project setup guides assume that you&#039;ve already set up your IDE and the necessary SDKs. If you haven&#039;t done so yet, look here to find out how to do that.

Using SWCs

The Citrus Engine provides different SWCs depending the builds you need, including all the external libraries needed.
For example, if you pick-up the CEV*-*-*-Starling-Box2D.swc file, it includes Starling with some extensions classes, Dragon Bones and Box2D libraries.
By using a SWC, it will improve the compilat…</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/set-up-the-engine">
        <dc:format>text/html</dc:format>
        <dc:date>2013-01-18T13:00:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://wiki.starling-framework.org/citrus/set-up-the-engine</link>
        <description>Go on the GitHub.</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/sound">
        <dc:format>text/html</dc:format>
        <dc:date>2015-05-15T05:17:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sound Manager</title>
        <link>https://wiki.starling-framework.org/citrus/sound</link>
        <description>Sound Manager

Introduction

The SoundManager allows for different levels of control for sound in your game, from simple play/pause/resume/stop controls with sound names, to control over individual playing sound instances.

Using the sound manager

Registering a sound into the sound manager</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/start">
        <dc:format>text/html</dc:format>
        <dc:date>2015-08-28T20:33:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>The Citrus Engine</title>
        <link>https://wiki.starling-framework.org/citrus/start</link>
        <description>The Citrus Engine

Modern AS3 game framework.

Introduction

Welcome to the Citrus Engine wiki. The Citrus Engine is a professional-grade, scalable ActionScript 3 game engine built for industry-quality games using modern programming practices. It offers a nice way to separate logic/physics from art including rendering choice, physics engine and many other options - features.</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/state">
        <dc:format>text/html</dc:format>
        <dc:date>2014-02-18T14:59:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>State classes aka your Game State</title>
        <link>https://wiki.starling-framework.org/citrus/state</link>
        <description>State classes aka your Game State

The State class represents your game state. You will extend this class to be able to add objects to your game.

Manage objects in the state

In your own GameState class which extends State, you will have to add your objects after the initialiaze function called by the</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/structure">
        <dc:format>text/html</dc:format>
        <dc:date>2013-01-21T10:48:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Citrus Engine&#039;s structure</title>
        <link>https://wiki.starling-framework.org/citrus/structure</link>
        <description>Citrus Engine&#039;s structure</description>
    </item>
    <item rdf:about="https://wiki.starling-framework.org/citrus/views">
        <dc:format>text/html</dc:format>
        <dc:date>2014-07-05T10:18:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>View renderer</title>
        <link>https://wiki.starling-framework.org/citrus/views</link>
        <description>View renderer

Each time you create a State class, a view renderer is created and associated. 

Note that you&#039;re free to have a different view renderer by states, for example your game is made with a StarlingView whereas the about part will be made on the display list using a SpriteView because you won&#039;t need huge performances and it will be quicker to design it in Flash Pro.</description>
    </item>
</rdf:RDF>
