FangEngine.game_object.premade.character_button
This module contains the clickable text object
Class CharacterButton
This class represents text which can be clicked on
This can be displayed on any derivative of the ObjectBase screen
__init__(self, screen_parent, x: float, y: float, text: str, font: Font, color: typing.Tuple[int, int, int] = (255, 255, 255), background: typing.Tuple[int, int, int] = None, antialias: bool = True, bold: bool = False, italic: bool = False, underline: bool = False, outline_color: typing.Tuple[int, int, int] = None, outline_radius: int = 5, outline_width: int = 3, click_event: callable = None, args, kwargs)
Parameter screen_parent:
Parameter x:
Parameter y:
Parameter text: the text on the button
Parameter font: the pygame font to render the text in
Parameter color: the text color
Parameter background: the background color of the button
Parameter antialias:
Parameter bold:
Parameter italic:
Parameter underline:
Parameter outline_color:
Parameter outline_radius:
Parameter outline_width:
Parameter click_event: the reference to the function to run when clicked.
The function must take 2 parameters.
Alternatively you can make a child class and override the on_click method
Parameter args:
Parameter kwargs:
broadcast_message(self, message: typing.Union[list, tuple, str])
Broadcasts a message to all other objects on this screen
Parameter message: the message to send
check_collision(self)
Causes this object to check for collisions with other objects
If a collision is detected, the on_collide event of both objects will be triggered
class_name(self) -> str
Returns the name of the class
convert_coords(self, x: float, y: float) -> typing.Tuple[float, float]
Scales coordinates with respect to the the scaling of the screen
This is especially useful for interacting with the mouse directly
handle_input(self, keys: list, mouse: tuple, delta_t: float)
on_click(self, pos: tuple, button: int)
on_collide(self, other: GameObject)
on_create(self, args, kwargs)
This event is triggered when this object is created
It is run once and only once
on_joystick_axis_motion(self, joystick, axis, value)
on_joystick_ball_motion(self, joystick, ball, rel)
on_joystick_button_down(self, joystick, button)
on_joystick_button_up(self, joystick, button)
on_joystick_hat_motion(self, joystick, hat, value)
on_key_down(self, unicode, key, mod)
on_key_up(self, key, mod)
on_message_receive(self, message: typing.Union[list, tuple, str], sender)
This event is run when another object on the same screen broadcasts a message
Parameter message:
Parameter sender: the sender of the message
on_mouse_button_down(self, pos, button)
on_mouse_button_up(self, pos, button)
on_mouse_motion(self, pos, rel, buttons)
on_move(self, dx: float, dy: float)
on_screen_enter(self, previous_screen: str)
on_screen_leave(self, next_screen: str)
render(self, buffer: Surface)
Draws the button to the buffer
show_dialog_box(self, box: dialog_box.DialogBox.__class__, args, kwargs)
This method causes the screen to show a dialog box
Parameter box: the class reference to the dialog box
Parameter args:
Parameter kwargs:
update(self, delta_t: float)