Спасибо тебе огромное мне очень помогло, весь инет прорыл, а клинкера на 4 версию никто не делал. Три в ряд тоже очень круто будет. Вообще спасибо за твои гайды помогли мне освоить движок.
Интересное видео. Образцы кода тоже. Довольно хорошо снято. Единственное при переходе темы к переменной койн теряется нить повествования. Нет подробного описания почему введена койн и требуется дольше обдумывать видео перепросматривать, ставить на паузу. Автор, добавляй больше разжевывающего контента.
Кликер на четверке из ру сегмента на моей памяти ещё никто делал Но по прежнему самой редкой темой для видео по godot являются шейдеры, серьезно я не видел никого из русской части кто рассказывал про шейдеры наверное все пугаются того что шейдеры пишутся на C++
C# это по сути java только от Microsoft Я работаю так же и на Unity так что с C# опыта у меня много, C++ это язык который было бы неплохо знать но у меня пока руки не доходят
Godot тоже поддерживает C# можешь попробовать, а то для меня GDScript ещё сырой в ней нет виртуальных функций, абстрактных классов и исключений но с C# нельзя собираться по мобильные и веб платформы
спасибо большое, гайд помог очень, только почему после числа 892277978674777490 оно уходит в минус, так происходит с силой и с авто кликером и они после покупки когда ушли в минус стали стоить 0, что делать?
в годот есть ограничение на максимально число, советую сделать костыль, где ты делаешь массив величин, тоесть тысячи, миллионы и тд: extends Node # Массив суффиксов для больших чисел var suffixes = ["", "K", "M", "B", "T", "Qa", "Qi", "Sx", "Sp", "Oc", "No", "Dc"] # Функция для форматирования числа func format_number(number: float) -> String: var index = 0 while number >= 1000 and index < suffixes.size() - 1: number /= 1000 index += 1 return str(round(number, 2)) + suffixes[index] # Пример использования func _ready(): var big_number = 1234567890 var formatted_number = format_number(big_number) print(formatted_number) # Выведет "1.23B"
get_node - это метод класса Node, поэтому, если ваш класс не расширяет класс, являющийся потомком Node, то в вашем классе, естественно, не будет определен get_node. Это не глобальный встроенный метод GDScript.
var target_position = Vector2.ZERO var speed = 200 # Скорость перемещения объекта func _process(delta): # Перемещаем объект к целевой позиции position = position.move_toward(target_position, speed * delta) func _input(event): # Проверяем, было ли произведено нажатие на экран if event is InputEventScreenTouch and event.pressed: # Устанавливаем целевую позицию равной позиции нажатия target_position = event.position Этот код будет перемещать объект к точке, на которую было произведено нажатие экрана, с использованием заданной скорости.
@@vorongo как сделать ограничение обекта например я нажимаю на правую часть экрана обект остаëтся на месте а когда я нажимаю на левую часть экрана обект переместится куда где я нажал
extends Sprite # Цвет по умолчанию var default_color = Color(1, 1, 1) # Белый # Цвет при нажатии var clicked_color = Color(1, 0, 0) # Красный func _ready(): # Разрешаем объекту получать события ввода set_process_input(true) func _input(event): if event is InputEventMouseButton: if event.pressed and event.button_index == BUTTON_LEFT: # Проверяем, было ли нажатие на этот объект if get_rect().has_point(to_local(event.position)): # Меняем цвет modulate = clicked_color else: # Возвращаем исходный цвет, если нажатие вне объекта modulate = default_color
Вместо кнопки лучше использовать функцию input, она поддерживает мультинажатие и другие фишки, а если игра на телефон, то touch screen input
Не знал, спасибо)
Спасибо тебе огромное мне очень помогло, весь инет прорыл, а клинкера на 4 версию никто не делал. Три в ряд тоже очень круто будет. Вообще спасибо за твои гайды помогли мне освоить движок.
Спасибо большое, продолжай свои уроки очень полезно!
Интересное видео. Образцы кода тоже. Довольно хорошо снято. Единственное при переходе темы к переменной койн теряется нить повествования. Нет подробного описания почему введена койн и требуется дольше обдумывать видео перепросматривать, ставить на паузу. Автор, добавляй больше разжевывающего контента.
я думал вообще добавлять к коду, комментарии, что какая строка делает, но руки не доходят
@@vorongo Продолжай снимать. У тебя хорошо получается контент.
Кликер на четверке из ру сегмента на моей памяти ещё никто делал
Но по прежнему самой редкой темой для видео по godot являются шейдеры, серьезно я не видел никого из русской части кто рассказывал про шейдеры наверное все пугаются того что шейдеры пишутся на C++
Я кстати в прошлом году учил C++ и C#, но дальше таблиц данных и принта не ушёл
C# это по сути java только от Microsoft
Я работаю так же и на Unity так что с C# опыта у меня много, C++ это язык который было бы неплохо знать но у меня пока руки не доходят
Godot тоже поддерживает C# можешь попробовать, а то для меня GDScript ещё сырой в ней нет виртуальных функций, абстрактных классов и исключений но с C# нельзя собираться по мобильные и веб платформы
В я видео оригинал>:)
Теперь слышно лучше!
Кстати про три вряд, думаю будет интересно@-@
ну да, решил поправить;)
спасибо большое, гайд помог очень, только почему после числа 892277978674777490 оно уходит в минус, так происходит с силой и с авто кликером и они после покупки когда ушли в минус стали стоить 0, что делать?
в годот есть ограничение на максимально число, советую сделать костыль, где ты делаешь массив величин, тоесть тысячи, миллионы и тд: extends Node
# Массив суффиксов для больших чисел
var suffixes = ["", "K", "M", "B", "T", "Qa", "Qi", "Sx", "Sp", "Oc", "No", "Dc"]
# Функция для форматирования числа
func format_number(number: float) -> String:
var index = 0
while number >= 1000 and index < suffixes.size() - 1:
number /= 1000
index += 1
return str(round(number, 2)) + suffixes[index]
# Пример использования
func _ready():
var big_number = 1234567890
var formatted_number = format_number(big_number)
print(formatted_number) # Выведет "1.23B"
чо значит ошибка Cannot use shorthand "get_node()" notation ("$") on a class that isn't a node. ?
get_node - это метод класса Node, поэтому, если ваш класс не расширяет класс, являющийся потомком Node, то в вашем классе, естественно, не будет определен get_node. Это не глобальный встроенный метод GDScript.
docs.godotengine.org/en/stable/classes/class_node.html#class-node-method-get-node
А будут 3Д уроки по Godot 4?
постараюсь снять и на 3д, а что именно нужно? шутер, бродили и квест?
@@vorongo шутер на мобилы😁
Слушай, а можешь урок как сделать титры после игры или запустить их в меню игры?
титры можно сделать 3 способами:
1. видеостимплеер как в моем видео про меню.
2. просто анимацией.
3. лэйбл который будет двигаться с низу в верх.
@@vorongo Ага спасибо
можно гайд как делать текстуру и стиль кнопок фона и тд и тп
Можно)
я тоже так думаю)@@vorongo
Как зделать так чтобы при нажатии на экран то обект перемещается куда нажал?
var target_position = Vector2.ZERO
var speed = 200 # Скорость перемещения объекта
func _process(delta):
# Перемещаем объект к целевой позиции
position = position.move_toward(target_position, speed * delta)
func _input(event):
# Проверяем, было ли произведено нажатие на экран
if event is InputEventScreenTouch and event.pressed:
# Устанавливаем целевую позицию равной позиции нажатия
target_position = event.position
Этот код будет перемещать объект к точке, на которую было произведено нажатие экрана, с использованием заданной скорости.
Спасибо, а это работает в Godot 4?
@@salahzak7615 да
@@vorongo как сделать ограничение обекта например я нажимаю на правую часть экрана обект остаëтся на месте а когда я нажимаю на левую часть экрана обект переместится куда где я нажал
как сделать сохранение?
@@autelast это сложная тема, это нужно будет в отдельное видео сделать
@@vorongo сделайте пожалуйста! Буду очень благодарен
Как зделать так чтобы принажатии на обект, обект менял цвет?
extends Sprite
# Цвет по умолчанию
var default_color = Color(1, 1, 1) # Белый
# Цвет при нажатии
var clicked_color = Color(1, 0, 0) # Красный
func _ready():
# Разрешаем объекту получать события ввода
set_process_input(true)
func _input(event):
if event is InputEventMouseButton:
if event.pressed and event.button_index == BUTTON_LEFT:
# Проверяем, было ли нажатие на этот объект
if get_rect().has_point(to_local(event.position)):
# Меняем цвет
modulate = clicked_color
else:
# Возвращаем исходный цвет, если нажатие вне объекта
modulate = default_color
Ты не знаешь английский но делаешь игры, нужно знать хотя бы основы английского
Я считаю: главное - делать крутые игры и помогать новичкам в этом, а английский уже потом )
Неправильно пишешь клик, ты пишешь clike, а надо писать kliec
click*
Click пишется
я знаю, ты не первый кто это пишет/
Уровень английского лучше подтянуть
yes yes, l'm know