Class: abstract
FCamera
The base class for cameras in Fibbo.
Extends
Constructors
new FCamera()
new FCamera(
options
?):FCamera
Parameters
• options?: FCameraOptions
Returns
Overrides
Defined in
Methods
addController()
addController(
controller
):void
Add a controller to the component.
Parameters
• controller: FController
The controller to add.
Returns
void
Inherited from
Defined in
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
emitOnLoaded()
emitOnLoaded():
void
Emit the onLoaded callbacks.
Returns
void
Inherited from
Defined in
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
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
[core/src/FComponent.ts:202](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L202)
***
### 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/src/FComponent.ts:149](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L149)
***
### 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/src/FComponent.ts:157](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L157)
***
### removeController()
> **removeController**(`controller`): `void`
Remove a controller from the component.
#### Parameters
• **controller**: [`FController`](FController.md)
The controller to remove.
#### Returns
`void`
#### Inherited from
[`FComponent`](FComponent.md).[`removeController`](FComponent.md#removecontroller)
#### Defined in
[core/src/FComponent.ts:112](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L112)
## 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/src/FComponent.ts:55](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L55)
***
### \_\_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/src/FComponent.ts:44](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L44)
***
### \_\_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/src/FComponent.ts:49](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L49)
***
### \_\_ID\_\_
> **\_\_ID\_\_**: `number`
Unique identifier for the component.
It is generated automatically.
#### Inherited from
[`FComponent`](FComponent.md).[`__ID__`](FComponent.md#__id__)
#### Defined in
[core/src/FComponent.ts:39](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L39)
***
### \_\_IS\_2D\_\_
> **\_\_IS\_2D\_\_**: `boolean` = `false`
#### Inherited from
[`FComponent`](FComponent.md).[`__IS_2D__`](FComponent.md#__is_2d__)
#### Defined in
[core/src/FComponent.ts:33](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L33)
***
### \_\_IS\_3D\_\_
> **\_\_IS\_3D\_\_**: `boolean` = `false`
Internal flags
#### Inherited from
[`FComponent`](FComponent.md).[`__IS_3D__`](FComponent.md#__is_3d__)
#### Defined in
[core/src/FComponent.ts:32](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L32)
***
### controllers
> **controllers**: [`FController`](FController.md)[]
The controllers attached to the component.
#### Inherited from
[`FComponent`](FComponent.md).[`controllers`](FComponent.md#controllers)
#### Defined in
[core/src/FComponent.ts:65](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L65)
***
### scene
> **scene**: [`FScene`](FScene.md)
The scene the component is attached to.
#### Inherited from
[`FComponent`](FComponent.md).[`scene`](FComponent.md#scene)
#### Defined in
[core/src/FComponent.ts:60](https://github.com/fibbojs/fibbo/blob/65626b456ab47d7e61b23a8dd1be9f399238b0f1/packages/core/src/FComponent.ts#L60)