Construct 2 projects consist of the following elements. These can be accessed via the
Project Bar, which contains a tree of all the elements in the project. Items in the Project Bar can also be organised in to subfolders
(licensed version only) which is very useful for medium to large projects. For more information, see the manual section on
Project Primitives.
Layouts
Levels, menus, title screens and other pre-arranged
layouts of objects. In other tools Layouts may be referred to as
scenes,
rooms,
frames or
stages. See the section on
Layouts for more information.
Layouts also consist of multiple
Layers, which can be used to arrange objects in to background and foreground layers. These are managed with the
Layers bar.
Event Sheets
A list of
Events defining the game logic. In Construct 2, Events are the alternative to programming or scripting. Layouts have an associated Event Sheet for their logic. Event sheets can be re-used between different layouts with
event sheet includes. Event sheets are edited in the
Event Sheet View.
For more information on events, see the manual section on
Events, especially the page on
How events work.
Object Types
An Object Type defines a 'class' of object. For example,
TrollEnemy and
OgreEnemy could be different object types. Multiple
instances of an object type can be created. For example there could be three
instances of the
TrollEnemy object type, and five
instances of the
OgreEnemy object type.
It is important to be clear on the difference between
object types and
instances: they will be referred to as different things throughout the manual. For more information, see the manual entries for
Plugins,
Object Types and
Instances.
System object
The
System object represents built-in functionality in Construct 2. It is the only object an empty project contains. It cannot be added again or removed from a project. There are no instances of the System object: it is simply always present and provides access to the built-in aspects of Construct 2's game engine. Its conditions, actions and expressions are documented in the
System reference.
Sounds and Music
These are audio files used for sound effects and music in the game.
Sounds should be used for short-duration sound effects that are played when events like collisions and explosions happen.
Music should be used for the longer musical tracks. It is important to organise audio files appropriately, because Sounds are downloaded completely before playing, but Music is streamed. This means if a Music track is accidentally put in the Sounds folder, it would have to download completely (which could take a couple of minutes) before it started playing. However, audio in the Music folder can start playing immediately since it is streamed from the server.
Both sound and music must be available in both the
Ogg Vorbis (.ogg) and
MPEG-4 AAC (.m4a) formats. This is because browser makers cannot agree on one audio format for the web, so all audio must be in two formats to support all browsers!
Internet Explorer and Safari use the .m4a files, and all other browsers (Firefox, Chrome and Opera) use the .ogg files. Construct 2 helps convert audio to both formats when audio files are imported. See the
Import Audio dialog for more information.
Common units
In Construct 2, sometimes you need to enter values such as angles, speeds or sizes. For consistency these always use the same units in Construct 2, except where noted by descriptions or tips shown in the editor. The common units are described below.
Positions are in pixels. The origin (0,0) is at the top-left of the layout, and the Y axis increments downwards (as is often the case with game engines).
Sizes are in pixels
Angles are in degrees. 0 degrees faces
right and increments
clockwise.
Times are in seconds
Speeds are in pixels per second
Accelerations are in pixels per second per second
Zero-based indexing
To be consistent with programming languages, all features of Construct 2 using a number of an item in a list (indices) start from 0 instead of 1. This might seem odd at first and take some getting used to, but in many cases it is actually much more convenient than 1-based indexing.
Traditionally lists are numbered
1, 2, 3... but in Construct 2 (and all other programming languages) they are numbered
0, 1, 2....