For internal usage.
If Button is clicked, it will trigger event's handler.
The node this component is attached to. A component is always attached to a node.
Returns a value which used to indicate the onLoad get called or not.
Disabled state color.
Disabled state color.
Disabled state sprite.
Disabled state sprite.
Color and Scale transition duration.
Color and Scale transition duration.
Indicates whether this component is enabled or not.
Indicates whether this component is enabled or not.
Indicates whether this component is enabled and its node is also active in the hierarchy.
Hover state color.
Hover state color.
Hover state sprite.
Hover state sprite.
Whether the Button is disabled. If true, the Button will trigger event and do transition.
Whether the Button is disabled. If true, the Button will trigger event and do transition.
Indicates whether the object is not yet destroyed. (It will not be available after being destroyed)
When an object's destroy
is called, it is actually destroyed after the end of this frame.
So isValid
will return false from the next frame, while isValid
in the current frame will still be true.
If you want to determine whether the current frame has called destroy
, use isValid(obj, true)
,
but this is often caused by a particular logical requirements, which is not normally required.
Normal state color.
Normal state color.
Normal state sprite.
Normal state sprite.
Pressed state color.
Pressed state color.
Pressed state sprite.
Pressed state sprite.
Transition target. When Button state changed:
Transition target. When Button state changed:
Transition type.
Transition type.
The uuid for editor.
When user press the button, the button will zoom to a scale. The final scale of the button equals (button original scale * zoomScale)
When user press the button, the button will zoom to a scale. The final scale of the button equals (button original scale * zoomScale)
Clear all references in the instance.
NOTE: this method will not clear the getter or setter functions which defined in the instance of CCObject. You can override the _destruct method if you need, for example: _destruct: function () { for (var key in this) { if (this.hasOwnProperty(key)) { switch (typeof this[key]) { case 'string': this[key] = ''; break; case 'object': case 'function': this[key] = null; break; } } }
If the component's bounding box is different from the node's, you can implement this method to supply a custom axis aligned bounding box (AABB), so the editor's scene view can perform hit test properly.
The rect to store the result bounding rect
Adds a component class to the node. You can also add component to node by passing in the name of the script.
The class of component to be retrieved or to be created
Adds a component class to the node. You can also add component to node by passing in the name of the script.
A string for the class name of the component
Returns the component of supplied type if the node has one attached, null if it doesn't.
You can also get component in the node by passing in the name of the script.
The class of component to be retrieved or to be created
Returns the component of supplied type if the node has one attached, null if it doesn't.
You can also get component in the node by passing in the name of the script.
A string for the class name of the component
Returns the component of supplied type in any of its children using depth first search.
The class of component to be retrieved
Returns the component of supplied type in any of its children using depth first search.
A string for the class name of the component
Returns all components of supplied type in the node.
The class of components to be retrieved
Returns all components of supplied type in the node.
A string for the class name of the components
Returns all components of supplied type in self or any of its children.
The class of components to be retrieved
Returns all components of supplied type in self or any of its children.
A string for the class name of the components
LateUpdate is called every frame, if the Component is enabled.
This is a lifecycle method. It may not be implemented in the super class.
You can only call its super class method inside it. It should not be called manually elsewhere.
the delta time in seconds it took to complete the last frame
Called when this component will be destroyed.
This is a lifecycle method. It may not be implemented in the super class.
You can only call its super class method inside it. It should not be called manually elsewhere.
When attaching to an active node or its node first activated.
onLoad is always called before any start functions, this allows you to order initialization of scripts.
This is a lifecycle method. It may not be implemented in the super class.
You can only call its super class method inside it. It should not be called manually elsewhere.
onRestore is called after the user clicks the Reset item in the Inspector's context menu or performs
an undo operation on this component.
If the component contains the "internal state", short for "temporary member variables which not included
in its CCClass properties", then you may need to implement this function.
The editor will call the getset accessors of your component to record/restore the component's state
for undo/redo operation. However, in extreme cases, it may not works well. Then you should implement
this function to manually synchronize your component's "internal states" with its public properties.
Once you implement this function, all the getset accessors of your component will not be called when
the user performs an undo/redo operation. Which means that only the properties with default value
will be recorded or restored by editor.
Similarly, the editor may failed to reset your component correctly in extreme cases. Then if you need
to support the reset menu, you should manually synchronize your component's "internal states" with its
properties in this function. Once you implement this function, all the getset accessors of your component
will not be called during reset operation. Which means that only the properties with default value
will be reset by editor.
This function is only called in editor mode.
Called to initialize the component or node’s properties when adding the component the first time or when the Reset command is used.
This function is only called in editor.
Schedules a custom task.
If the task is already scheduled, then the interval parameter will be updated without scheduling it again.
The callback function of the task
The time interval between each invocation
The repeat count of this task, the task will be invoked (repeat + 1) times, use macro.REPEAT_FOREVER to repeat a task forever
The delay time for the first invocation
Schedules a task that runs only once, with a delay of 0 or larger.
The callback function of the task
The delay time for the first invocation
Called before all scripts' update if the Component is enabled the first time.
Usually used to initialize some logic which need to be called after all components' onload
methods called.
This is a lifecycle method. It may not be implemented in the super class.
You can only call its super class method inside it. It should not be called manually elsewhere.
Un-schedules a custom task.
The callback function of the task
unschedule all scheduled tasks.
Generated using TypeDoc
Button has 4 Transition types
When Button state changed:
If Transition type is Button.Transition.NONE, Button will do nothing
If Transition type is Button.Transition.COLOR, Button will change target's color
If Transition type is Button.Transition.SPRITE, Button will change target Sprite's sprite
If Transition type is Button.Transition.SCALE, Button will change target node's scale
Button will trigger 5 events:
Button.EVENT_TOUCH_DOWN
Button.EVENT_TOUCH_UP
Button.EVENT_HOVER_IN
Button.EVENT_HOVER_MOVE
Button.EVENT_HOVER_OUT
User can get the current clicked node with 'event.target' from event object which is passed as parameter in the callback function of click event.
import { log, Node } from 'cc'; // Add an event to the button. button.node.on(Node.EventType.TOUCH_START, (event) => { log("This is a callback after the trigger event"); }); // You could also add a click event //Note: In this way, you can't get the touch event info, so use it wisely. button.node.on('click', (button) => { //The event is a custom event, you could get the Button component via first argument })