Class: abstract
FPolygon
A simple polygon in Fibbo.
Extends
Extended by
Accessors
color
get
color():number
set
color(value
):void
Parameters
• value: number
Returns
number
Defined in
2d/src/polygons/FPolygon.ts:61
Constructors
new FPolygon()
new FPolygon(
options
?):FPolygon
Parameters
• options?: FPolygonOptions
Returns
Overrides
Defined in
2d/src/polygons/FPolygon.ts:32
Methods
__DRAW_SHAPE__()
abstract
__DRAW_SHAPE__(graphics
):void
Draw the shape of the polygon. This method should be implemented by the child class.
Parameters
• graphics: Graphics
The PIXI.Graphics object to draw the shape on.
Returns
void
Defined in
2d/src/polygons/FPolygon.ts:57
__SET_POSITION__()
__SET_POSITION__(
position
):void
Parameters
• position: FVector2
Returns
void
Inherited from
Defined in
__SET_ROTATION__()
__SET_ROTATION__(
rotation
):void
Parameters
• rotation: number
Returns
void
Inherited from
Defined in
__SET_SCALE__()
__SET_SCALE__(
scale
):void
Parameters
• scale: FVector2
Returns
void
Inherited from
Defined in
__UPDATE_POSITION__()
__UPDATE_POSITION__(
initiator
):void
Update the position of the component according to the transform. This method should be called after updating the transform properties.
Parameters
• initiator: boolean
= false
By default (false), the component won't be considered as the initiator of the position update. Set this to true to propagate the position update to the rigidBody, collider and sensor.
Returns
void
Inherited from
FComponent
.__UPDATE_POSITION__
Defined in
__UPDATE_ROTATION__()
__UPDATE_ROTATION__(
initiator
):void
Update the rotation of the component according to the transform. This method should be called after updating the transform properties.
Parameters
• initiator: boolean
= false
By default (false), the component won't be considered as the initiator of the rotation update. Set this to true to propagate the rotation update to the rigidBody, collider and sensor.
Returns
void
Inherited from
FComponent
.__UPDATE_ROTATION__
Defined in
__UPDATE_SCALE__()
__UPDATE_SCALE__(
initiator
):void
Update the scale of the component according to the transform. This method should be called after updating the transform properties.
Parameters
• initiator: boolean
= false
By default (false), the component won't be considered as the initiator of the scale update. Set this to true to propagate the scale update to the rigidBody, collider and sensor.
Returns
void
Inherited from
Defined in
addController()
addController(
controller
):void
Add a controller to the component.
Parameters
• controller: FController
The controller to add.
Returns
void
Inherited from
Defined in
core/dist/index.d.ts:418
emitCollisionWith()
emitCollisionWith(
options
):void
Emit a collision event with a given class or object.
Parameters
• options
The options for the collision event.
• options.class?: any
The class to emit the collision event with.
• options.component?: FComponent
The component to emit the collision event with.
Returns
void
Examples
const player = new Player()
const enemy = new Enemy()
player.emitCollisionWith({
class: Enemy
})
const player = new Player()
const enemy = new Enemy()
player.emitCollisionWith({
object: enemy
})
Inherited from
Defined in
core/dist/index.d.ts:499
emitOnLoaded()
emitOnLoaded():
void
Emit the onLoaded callbacks.
Returns
void
Inherited from
Defined in
core/dist/index.d.ts:443
frame()
frame(
delta
):void
Update the component. Should be called every frame. The purpose of this method is to render the component, its mesh/sprite, and its properties.
Parameters
• delta: number
The time since the last frame.
Returns
void
Inherited from
Defined in
initCollider()
initCollider(
options
?):void
Parameters
• options?: FColliderOptions
Returns
void
Inherited from
Defined in
initRigidBody()
initRigidBody(
options
?):void
Parameters
• options?: FRigidBodyOptions
Returns
void
Inherited from
Defined in
initSensor()
initSensor(
options
?):void
Parameters
• options?: FRigidBodyOptions
Returns
void
Inherited from
Defined in
onCollisionWith()
onCollisionWith(
classOrObject
,callback
): () =>void
Add a callback to be called when a collision occurs.
Parameters
• classOrObject: any
The class or object to observe for collisions. Should inherit from FComponent.
• callback
The callback to add to the collision event.
Returns
Function
A function to remove the callback.
Returns
void
Examples
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(Enemy, ({ component }) => {
console.log('Player collided with an Enemy!')
console.log('The enemy is:', component)
})
const player = new Player()
const enemy = new Enemy()
player.onCollisionWith(enemy, () => {
console.log('Player collided with the enemy!')
})
const player = new Player()
const enemy = new Enemy()
const removeThisCallback = player.onCollisionWith(enemy, () => {
console.log('Player collided with the enemy!')
})
// To remove the callback, call the function returned by onCollisionWith
removeThisCallback()
#### Inherited from
[`FComponent`](FComponent.md).[`onCollisionWith`](FComponent.md#oncollisionwith)
#### Defined in
[2d/src/core/FComponent.ts:276](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/core/FComponent.ts#L276)
***
### onFrame()
> **onFrame**(`callback`): `void`
Add a callback to be called every frame.
#### Parameters
• **callback**
The callback function.
#### Returns
`void`
#### Inherited from
[`FComponent`](FComponent.md).[`onFrame`](FComponent.md#onframe)
#### Defined in
core/dist/index.d.ts:434
***
### onLoaded()
> **onLoaded**(`callback`): `void`
Add a callback to be called when the component is loaded (could be a texture, a 3D model, etc).
#### Parameters
• **callback**
The callback function.
#### Returns
`void`
#### Inherited from
[`FComponent`](FComponent.md).[`onLoaded`](FComponent.md#onloaded)
#### Defined in
core/dist/index.d.ts:439
***
### removeController()
> **removeController**(`controller`): `void`
Remove a controller from the component.
#### Parameters
• **controller**: `FController`
The controller to remove.
#### Returns
`void`
#### Inherited from
[`FComponent`](FComponent.md).[`removeController`](FComponent.md#removecontroller)
#### Defined in
core/dist/index.d.ts:423
***
### render()
> **render**(`delta`): `void`
#### Parameters
• **delta**: `number`
#### Returns
`void`
#### Inherited from
[`FComponent`](FComponent.md).[`render`](FComponent.md#render)
#### Defined in
[2d/src/core/FComponent.ts:106](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/core/FComponent.ts#L106)
## Properties
### \_\_CALLBACKS\_ON\_COLLISION\_\_
> **\_\_CALLBACKS\_ON\_COLLISION\_\_**: `object`
Callbacks for when a collision occurs with a given class or object.
It is a dictionary where the key is the class name or object id and the value is an array of callbacks.
#### Index Signature
\[`key`: `string`\]: (`data`) => `void`[]
#### Inherited from
[`FComponent`](FComponent.md).[`__CALLBACKS_ON_COLLISION__`](FComponent.md#__callbacks_on_collision__)
#### Defined in
core/dist/index.d.ts:402
***
### \_\_CALLBACKS\_ON\_FRAME\_\_
> **\_\_CALLBACKS\_ON\_FRAME\_\_**: () => `void`[]
Callbacks for when a frame is rendered.
#### Inherited from
[`FComponent`](FComponent.md).[`__CALLBACKS_ON_FRAME__`](FComponent.md#__callbacks_on_frame__)
#### Defined in
core/dist/index.d.ts:393
***
### \_\_CALLBACKS\_ON\_LOADED\_\_
> **\_\_CALLBACKS\_ON\_LOADED\_\_**: () => `void`[]
Callbacks for when the component is loaded (could be a texture, a 3D model, etc).
#### Inherited from
[`FComponent`](FComponent.md).[`__CALLBACKS_ON_LOADED__`](FComponent.md#__callbacks_on_loaded__)
#### Defined in
core/dist/index.d.ts:397
***
### \_\_COLOR\_\_?
> `optional` **\_\_COLOR\_\_**: `number`
The color of the polygon.
#### Defined in
[2d/src/polygons/FPolygon.ts:23](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/polygons/FPolygon.ts#L23)
***
### \_\_CONTAINER\_\_
> **\_\_CONTAINER\_\_**: `Graphics`
PIXI container
#### Overrides
[`FComponent`](FComponent.md).[`__CONTAINER__`](FComponent.md#__container__)
#### Defined in
[2d/src/polygons/FPolygon.ts:30](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/polygons/FPolygon.ts#L30)
***
### \_\_GRADIENT\_\_?
> `optional` **\_\_GRADIENT\_\_**: [`GradientStep`](../interfaces/GradientStep.md)[]
The gradient of the polygon.
#### Defined in
[2d/src/polygons/FPolygon.ts:27](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/polygons/FPolygon.ts#L27)
***
### \_\_ID\_\_
> **\_\_ID\_\_**: `number`
Unique identifier for the component.
It is generated automatically.
#### Inherited from
[`FComponent`](FComponent.md).[`__ID__`](FComponent.md#__id__)
#### Defined in
core/dist/index.d.ts:389
***
### \_\_IS\_2D\_\_
> **\_\_IS\_2D\_\_**: `boolean` = `true`
Internal flags
#### Inherited from
[`FComponent`](FComponent.md).[`__IS_2D__`](FComponent.md#__is_2d__)
#### Defined in
[2d/src/core/FComponent.ts:30](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/core/FComponent.ts#L30)
***
### \_\_IS\_3D\_\_
> **\_\_IS\_3D\_\_**: `boolean`
Internal flags
#### Inherited from
[`FComponent`](FComponent.md).[`__IS_3D__`](FComponent.md#__is_3d__)
#### Defined in
core/dist/index.d.ts:383
***
### collider
> **collider**: [`FCollider`](FCollider.md)
RAPIER Collider
#### Inherited from
[`FComponent`](FComponent.md).[`collider`](FComponent.md#collider)
#### Defined in
[2d/src/core/FComponent.ts:58](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/core/FComponent.ts#L58)
***
### controllers
> **controllers**: [`FController`](FController.md)[]
The controllers attached to the component.
#### Inherited from
[`FComponent`](FComponent.md).[`controllers`](FComponent.md#controllers)
#### Defined in
[2d/src/core/FComponent.ts:38](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/core/FComponent.ts#L38)
***
### rigidBody
> **rigidBody**: [`FRigidBody`](FRigidBody.md)
RAPIER RigidBody
#### Inherited from
[`FComponent`](FComponent.md).[`rigidBody`](FComponent.md#rigidbody)
#### Defined in
[2d/src/core/FComponent.ts:54](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/core/FComponent.ts#L54)
***
### scene
> **scene**: [`FScene`](FScene.md)
The scene the component is attached to.
#### Inherited from
[`FComponent`](FComponent.md).[`scene`](FComponent.md#scene)
#### Defined in
[2d/src/core/FComponent.ts:34](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/core/FComponent.ts#L34)
***
### sensor
> **sensor**: [`FRigidBody`](FRigidBody.md)
Sensor (a collider that doesn't collide with other colliders, but still triggers events)
#### Inherited from
[`FComponent`](FComponent.md).[`sensor`](FComponent.md#sensor)
#### Defined in
[2d/src/core/FComponent.ts:62](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/core/FComponent.ts#L62)
***
### transform
> **transform**: [`FTransform`](FTransform.md)
Transforms
#### Inherited from
[`FComponent`](FComponent.md).[`transform`](FComponent.md#transform)
#### Defined in
[2d/src/core/FComponent.ts:48](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/2d/src/core/FComponent.ts#L48)