There are two distinct views of your object properties and it's important to understand the distinguishing factors. Each actor in your World is an instance of a particular class, and there are different sets of properties depending on whether or not you are editing the instance in the World or the class definition itself (which affects all of the instances).
- You can edit the instance's properties on the actor's primary menu.
|  |
- You can edit the class's properties by selecting the "Edit Class..." option found on the instance menu or by accessing the class directly via the Explorer dialog.
|  |
Note that most changes you make to the classes' properties will affect every instance in the World. However, it will not affect any instance properties that have been modified. For example, the position property is always unique for an instance and will not change when modified in the class editor.
Properties Overview
Custom Properties
Custom properties are the unique, custom attributes that you can define for any object in the system. Each new property has a type associated with it as well as an initial value (the value the property takes each time the application is rewound or loaded).
Note: Any time you change a property's value by hand via the dialog (as opposed via a behavior), the value becomes the new initial state for the object. Appearance
The appearance properties control general physical appearance as well as the object's visibility relative to other objects in the World.
draw_border - A boolean value that determines whether or not the border of the object is visible. This property overrides the actual color defined by line_color.
- true : draw the object's border (default)
- false : do not draw the border
fill_color - An RGBA value describing the color used to fill the object. The value can be entered by hand using the text field, or the color chooser can be clicked to choose a color visually.
- the last number represents the transparencey of the color (the alpha)
filled - A boolean value that determines whether or not the object's fill color is applied.. This property overrides the actual color defined by fill_color.
- true : draw the object's border (default)
- false : do not draw the border
layer - An integer to describe the absolute positioning for the "painting" of an object. Object's with higher layers are show to be "on top of" of other objects.
- By default, all object's have a layer of zero.
line_color - An RGBA value describing the color used to outline the object. The value can be entered by hand using the text field, or the color chooser can be clicked to choose a color visually.
- the last number represents the transparencey of the color (the alpha)
text_color - An RGBA value describing the color used to outline the object. The value can be entered by hand using the text field, or the color chooser can be clicked to choose a color visually.
- the last number represents the transparencey of the color (the alpha)
visible - A boolean describing whether or not the object is visible at all. Note that you can still select non-visible objects with the mouse.
- This property is nice to use from a behavior when you want to temporarily hide the object without destroying it.
Position
The position property controls the location and direction of the object within the World.
The best way to understand the coordinates is to simply experiment with locations.
orientation - The direction the object is pointed.
- The default is zero degrees which points straight right.
- You can use positive and negative numbers. Positive degrees will rotate the object counter-clockwise...
- 90 degrees points up
- 180 degrees points left
- 270 degrees points down
- 360 degrees points right
position - The location of the object in the World represented by an x and y vector coordinate system.
- The center of the World always has a position of 0,0!
Image
Images can be applied directly to core components such as rectangles and circles by simply dragging them onto the object from your desktop. Images can also be dragged directly into the application gallery and they can be set and modified using behavior actions.
The property dialog provides a browse button so you can search your file system for the image to be applied. The thumbnail preview window also acts as a drop target so images can be dragged directly into this property dialog.
image_scaling_mode - Describes how the image is scaled within the object
- fit : will force the image to fit as best as possible without changing its aspect ratio (default)
- stretch : will force the image size to be equal to the size of the object independent of aspect ratio
- fit_width : will force the image's width to be equal to that of the object regardless of the aspect ratio
- fit_height : will force the image's height to be equal to that of the object regardless of the aspect ratio
hold_on_frame - Will freeze an animated image on a particular frame. If no frame is specified (the default), the animation will be active.
flip_horizontally - Rotates the image 180 degrees left to right.
- false : no rotation applied (default)
- true : apply rotation
flip_vertically - Rotates the image 180 degrees top to bottom.
- false : no rotation applied (default)
image_anchor - Controls the location of the center of the image.
- center : vertical/horizontal center of object (default)
- north : top of object
- south : bottom of object
- east : left hand side of object
- west : right hand side of object
- northeast : top right hand corner of object
- northwest : top left hand corner of object
- southeast : bottom right hand corner of object
- southwest : bottom left hand corner of object
Text
The text properties allow you to modify text being displayed inside the object.
Note that if you'd like to use specific fonts, it is best to use graphic images since the specified font property may not be available on an end-user's machine.This is a nice tool for testing, however. You can put all kinds of information in the text field to help explain how your application is running!
font - The font used to display the characters in the object's text field. Format is:
<font name> , <weight>, <font size>
text - Text field that contains the text to be displayed. It defaults to empty.
text_alignment - Alignment of the text relative to the object's width. The property editor provides the following options. Note, however, that if you are dynamically changing the anchor from within a behavior or method, you need to assign the numerical value (shown in parens).- center : horizontaly aligned in the centercenter. (default).(2)
- left : left edge aligned. (0)
- right : right edge aligned. (1)
text_anchor - Describes where the text starts within the object. The property editor provides the following options. Note, however, that if you are dynamically changing the anchor from within a behavior or method, you need to assign the numerical value (shown in parens).
- center : vertical/horizontal center of object (1)
- north : top of object (2)
- south : bottom of object (3)
- east : left hand side of object (4)
- west : right hand side of object (5)
- northeast : top right hand corner of object (6)
- northwest : top left hand corner of object (7)
- southeast : bottom right hand corner of object (8)
- southwest : bottom left hand corner of object (9)
wrap_text - boolean value describing whether or not the text will wrap and stayed contained within the object itself.
- true : wrap the text (default)
- false : donot wrap the text
Physics
These properties control the physical properties of the underlying object. Modifying these properties will have an effect on how the object interacts with other objects in the World.
elasticity - determines the flexibility of the object when it collides with other objects.
- defaults to 0.8
- 1.0 has perfect elasticity
- 0.0 has no elasticity
friction - the surface resistence for the object.
- defaults to 0.8
- 1.0 has absolute friction
- 0.0 has no friction
ignore_collisions - determines whether or not the object will interact in a physical way to other objects in the World.
- false : the object bounces off any other objectthat also has this property set to false (default).
- true : the object will not collide with any other object in the system (it appears to pass right through it).
mass - the weight of the object.
motion_constraint - a vector that controls the direction an object is allowed to move. the first value is the horizontal constraint, and the second value controls the vertical constraint.
- 1.0, 1.0 means the object can move in any direction.
- 0.0, 1.0 means the object can only move in the vertical plane.
- 1.0, 0.0 means the object can only move in the horizontal plane.
- 0.0, 0.0 is equivalent to having the object pinned.
orientation_constraint - a boolean flag the controls whether or not the object can rotate when it collides with other objects.
- false : freely rotate (default)
- true : no rotation
pinned - a boolean flag the controls wither or not the object can move at all. For instance, if you don't want an object to fall when gravity is enabled, "pin it" in place.
- false : position will be affected by colliding objects and the force of gravity (default).
- true : object is stationary regardless of external forces.
rotational speed - determines how fast an object is rotating. A positive value indicates a counter-clockwise motion (as the angle increases as you move counter-clocwise away from 0), and a negative value indivates a clockwise motion.
speed - determines how fast an object is moving. the direction is always in line with the orientation of the object.
velocity - the vector describing the direction and magnitude of the speed.
- Changing the speed will implictly change its velocity.
- Changing the velocity willnot implicitly change its speed.
Geometry
Simple geometry of the underlying object. The actual properties available depend on the object type. All numbers are of type float, and use the global coordinate system of the World (for example, the default width of the World is 47.5).
Circle
radius - The radius of the circle (there is no current support for ellipses).
Rectangle
height - The height - in global coordinates - of the rectangle.
width - The width - in global coordinates - of the rectangle.
Line
height - Ignored.
jointLine - Ignored.
width - The length of the line.
Interaction
This only includes one field at the moment -
grabbable - wich is a boolean and describes whether or not the user can select it with the mouse.
This is useful if when you are creating game content that you do not want your players moving around with the mouse. It can also be useful when you are editing and have overlapping objects. It's nice to make objects ungrabbable so you don't pick them up by accident.
Important caveats about this field... The property is currently applying itself to other mouse events in the editor that you may not expect. For example:
- If an object is NOT grabbable, behaviors that filter mouse clicks on the object will beignored.
- If an object is NOT grabbable, you cannot drop things on it. For example, you cannot drop images or behaviors from the search results like you normally would. You will have to use their specific editors to perform those actions.