# Titanium.UI.iOS.PushBehavior
Continuous or instantaneous force to apply to an item.
# Overview
A push behavior configures the continuous or instaneous force to apply to one or more items. To define a push behavior:
- Use the Titanium.UI.iOS.createPushBehavior method to create and define the behavior.
- To define a force vector, either set the Titanium.UI.iOS.PushBehavior.angle and Titanium.UI.iOS.PushBehavior.magnitude properties, or set the Titanium.UI.iOS.PushBehavior.pushDirection property.
- Use the Titanium.UI.iOS.PushBehavior.addItem method to add items to the behavior.
- Add the behavior to an Titanium.UI.iOS.Animator.
# Examples
# Simple Example
The following example generates a random push force on the block when it stops.
var win = Ti.UI.createWindow({backgroundColor: 'white', fullscreen: true});
// Create an Animator object using the window as the coordinate system
var animator = Ti.UI.iOS.createAnimator({referenceView: win});
var block = Ti.UI.createView({
width: 100,
height: 100,
backgroundColor: 'blue',
transform: Ti.UI.createMatrix2D({ rotate: 45 })
});
// Create a default collision behavior, using the window edges as boundaries
var collision = Ti.UI.iOS.createCollisionBehavior();
collision.addItem(block);
animator.addBehavior(collision);
// Push the block down when the application first starts
var push = Ti.UI.iOS.createPushBehavior({
pushDirection: {x: 0.0, y: 1.0},
pushMode: Ti.UI.iOS.PUSH_MODE_INSTANTANEOUS
});
push.addItem(block);
animator.addBehavior(push);
// Apply a new push behavior when the item stops
animator.addEventListener('pause', function(e){
push.angle = 2 * Math.PI * Math.random();
push.magnitude = Math.random() * 5 + 5;
push.active = true;
});
animator.addEventListener('resume', function(e){
Ti.API.info(JSON.stringify(
'push force: ' + push.magnitude * 100 + " points/s^2 @ "
+ (push.angle * 360 / (2 * Math.PI)) + " degrees")
);
});
// Start the animation when the window opens
win.addEventListener('open', function(e){
animator.startAnimator();
});
win.add(block);
win.open();
# Properties
# active
State of the push behavior's force.
Set to true
to activate the force or false
to deactivate it. Use this property rather
than removing and re-adding the behavior to the animator.
Default: true
# angle
Specifies the angle of the force vector in radians.
To configure the force vector, you need to also specify the magnitude property.
Default: 0
# magnitude
Specifies the magnitude of the force vector.
A value of 1.0 represents an acceleration of 100 points per second squared if the item is
100 x 100 points with a density
of 1.0.
To configure the push vector, you need to also specify the angle property.
Default: 0
# pushDirection
Specifies the direction of the force vector as an x, y pair.
For example, specifiying {x: 0.0, y: 1.0}
indicates a positive upward force of 100
points per second squared if the item is 100 x 100 points with a density
of 1.0.
Specifiying a negative value reverses the direction of the force.
Default: (0,0)
# pushMode
Specifies the push mode.
Default: Titanium.UI.iOS.PUSH_MODE_CONTINUOUS
# Methods
# addItem
Adds an item to this behavior.
Parameters
Name | Type | Description |
---|---|---|
item | Titanium.UI.View | View object to add to the behavior. |
Returns
- Type
- void
# removeItem
Removes the specified item from this behavior.
Parameters
Name | Type | Description |
---|---|---|
item | Titanium.UI.View | Item to remove. |
Returns
- Type
- void