Первый скрипт C#
Прикрепите скрипт к Sprite2D, соберите проект и задайте скорость вращения в инспекторе.
Подготовка
Нужен проект с C# из первого запуска. Здесь используется 2D: создайте префаб с корнем Sprite2D, задайте ему Texture — например, перетащите icon.svg из Content Browser. Сместите корень в (320, 180), чтобы изображение оказалось внутри игрового окна. Сохраните как Spinner.rprefab.
Прикрепите скрипт
Выделите Sprite2D, нажмите кнопку прикрепления скрипта в иерархии и создайте SimpleSpinner.cs с базовым классом Entity2D. Sprite2D наследует Entity2D, поэтому такое расширение допустимо. Если редактор предлагает создать C# solution, подтвердите.
Замените содержимое файла целиком:
using Reckfell;
public partial class SimpleSpinner : Entity2D
{
[Export] public float DegreesPerSecond { get; set; } = 45.0f;
public override void _Process(double delta)
{
Rotation += Mathf.DegToRad(DegreesPerSecond) * (float)delta;
}
}Имя файла должно совпадать с именем класса: SimpleSpinner.cs. Файл в папке проекта сам по себе не прикрепляет поведение к Entity.
Соберите и запустите
- Сохраните код и выполните Build Project в инструментах C#; стандартная комбинация — Alt + B.
- Дождитесь успешной сборки, сохраните префаб и нажмите F6.
- Изображение должно вращаться на 45 градусов в секунду. F8 останавливает запуск.
_Process() вызывается каждый кадр. delta — время кадра в секундах; умножение на него переводит скорость в изменение за кадр. Rotation задаётся в радианах, поэтому нужна Mathf.DegToRad().
Измените скорость
Остановите игру, выберите корень и задайте Degrees Per Second в инспекторе: 90 ускорит вращение вдвое, -45 сменит направление, 0 остановит его. [Export] делает свойство доступным в инспекторе после сборки. Сохранённое значение инспектора имеет приоритет над начальным значением в коде.
Если изображения нет, проверьте Texture, видимость и позицию. Если оно не вращается — успешность последней сборки, прикреплённый скрипт и ненулевую скорость. Подробности: ошибки C#, жизненный цикл Entity.