Утилитарные функции
pygine.utils
Утилитарные функции для упрощения разработки игр
clamp(value, min_val, max_val)
Ограничить значение между минимумом и максимумом.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
float
|
Значение для ограничения |
required |
min_val
|
float
|
Минимально допустимое значение |
required |
max_val
|
float
|
Максимально допустимое значение |
required |
Returns:
Type | Description |
---|---|
float
|
Ограниченное значение |
Source code in pygine/utils.py
distance(pos1, pos2)
Вычислить расстояние между двумя точками.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
pos1
|
Tuple[float, float]
|
Первая позиция (x, y) |
required |
pos2
|
Tuple[float, float]
|
Вторая позиция (x, y) |
required |
Returns:
Type | Description |
---|---|
float
|
Расстояние между точками |
Source code in pygine/utils.py
get_mouse_pos()
get_mouse_pressed()
Получить текущие состояния кнопок мыши.
Returns:
Type | Description |
---|---|
Tuple[bool, bool, bool]
|
Кортеж состояний кнопок (левая, средняя, правая) |
key_just_pressed(key_code)
Проверить, была ли клавиша только что нажата в этом кадре.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
key_code
|
int
|
Код клавиши pygame (например, pygame.K_LEFT, pygame.K_SPACE, pygame.K_a) |
required |
Returns:
Type | Description |
---|---|
bool
|
True, если клавиша была нажата в этом кадре |
Example
if key_just_pressed(pygame.K_SPACE): ... player.jump()
Source code in pygine/utils.py
key_just_released(key_code)
Проверить, была ли клавиша только что отпущена в этом кадре.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
key_code
|
int
|
Код клавиши pygame (например, pygame.K_LEFT, pygame.K_SPACE, pygame.K_a) |
required |
Returns:
Type | Description |
---|---|
bool
|
True, если клавиша была отпущена в этом кадре |
Example
if key_just_released(pygame.K_SPACE): ... player.stop_jump()
Source code in pygine/utils.py
key_pressed(key_code)
Проверить, удерживается ли клавиша в данный момент.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
key_code
|
int
|
Код клавиши pygame (например, pygame.K_LEFT, pygame.K_SPACE, pygame.K_a) |
required |
Returns:
Type | Description |
---|---|
bool
|
True, если клавиша сейчас нажата |
Example
if key_pressed(pygame.K_LEFT): ... player.move_left() if key_pressed(pygame.K_SPACE): ... player.jump()
Source code in pygine/utils.py
lerp(start, end, t)
Линейная интерполяция между двумя значениями.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
start
|
float
|
Начальное значение |
required |
end
|
float
|
Конечное значение |
required |
t
|
float
|
Фактор интерполяции (0.0 до 1.0) |
required |
Returns:
Type | Description |
---|---|
float
|
Интерполированное значение |
Source code in pygine/utils.py
mouse_just_pressed(button=0)
Проверить, была ли кнопка мыши только что нажата в этом кадре.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
button
|
int
|
Кнопка мыши (0=левая, 1=средняя, 2=правая) |
0
|
Returns:
Type | Description |
---|---|
bool
|
True, если кнопка была нажата в этом кадре |
Source code in pygine/utils.py
mouse_just_released(button=0)
Проверить, была ли кнопка мыши только что отпущена в этом кадре.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
button
|
int
|
Кнопка мыши (0=левая, 1=средняя, 2=правая) |
0
|
Returns:
Type | Description |
---|---|
bool
|
True, если кнопка была отпущена в этом кадре |
Source code in pygine/utils.py
normalize_vector(vector)
Нормализовать 2D вектор до единичной длины.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
vector
|
Tuple[float, float]
|
Вектор для нормализации (x, y) |
required |
Returns:
Type | Description |
---|---|
Tuple[float, float]
|
Нормализованный вектор |
Source code in pygine/utils.py
update_input_state()
Обновить отслеживание состояния ввода. Должна вызываться один раз за кадр. Эта функция автоматически вызывается классом Game.
Source code in pygine/utils.py
wait(seconds)
Ожидать указанное количество секунд.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
seconds
|
float
|
Время ожидания в секундах |
required |
Example
wait(2.5) # Ждать 2.5 секунды
wait_for_animation(sprite)
Ожидать, пока не завершится текущая анимация спрайта.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sprite
|
Any
|
Экземпляр AnimatedSprite |
required |
Example
player.play_animation('attack', loop=False) wait_for_animation(player)
Source code in pygine/utils.py
wait_for_click(button=0)
Ожидать, пока не будет нажата кнопка мыши.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
button
|
int
|
Кнопка мыши для ожидания (0=левая, 1=средняя, 2=правая) |
0
|
Returns:
Type | Description |
---|---|
Tuple[int, int]
|
Позиция, где была нажата мышь |
Example
pos = wait_for_click() # Ждать левый клик pos = wait_for_click(2) # Ждать правый клик
Source code in pygine/utils.py
wait_for_key(key_code=None)
Ожидать, пока не будет нажата клавиша.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
key_code
|
int
|
Конкретный код клавиши pygame для ожидания (опционально) |
None
|
Returns:
Type | Description |
---|---|
int
|
Код клавиши pygame, которая была нажата |
Example
wait_for_key(pygame.K_SPACE) # Ждать пробел pressed = wait_for_key() # Ждать любую клавишу