У меня есть эта анимационная функция в приложении Swift6 RealityKit. Он тихо подходит в сцену. Это работает.
Но я получаю захват «Simplematerial» с неоплейным типом «Simplematerial» в «@sendable» закрытии . Как мы можем избавиться от этого. < /P>
func fadeInText(entity: ModelEntity, duration: TimeInterval = 1) {
guard var simpleMaterial = entity.model?.materials.first as? SimpleMaterial else { return }
let steps = 60
let interval = duration / Double(steps)
let startTime = CACurrentMediaTime()
Timer.scheduledTimer(withTimeInterval: interval, repeats: true) { t in
let elapsed = CACurrentMediaTime() - startTime
let progress = min(elapsed / duration, 1.0)
let alpha = progress
Task { @MainActor in
simpleMaterial.color.tint = simpleMaterial.color.tint.withAlphaComponent(CGFloat(alpha))
entity.model?.materials = [simpleMaterial]
}
if progress >= 1.0 {
t.invalidate()
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... -animation
Vift6 переменная дает @sendable в реальности анимации ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Исправление предупреждений о несоответствии «Sendable» для ImageResource в Swift 5.10.
Anonymous » » в форуме IOS - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-
-
-
SwiftUI: реализация Redo с помощью UndoManager без предупреждений о закрытии Sendable
Anonymous » » в форуме IOS - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-