#swift #macos #cocoa #undefined-behavior #metal
#swift #macos #какао #неопределенное поведение #Металлические
Вопрос:
Учитывая, что было бы довольно неудобно менять класс с MTKView
моего собственного представления и переопределять код для вставки updateTrackingAreas()
кода, просто для обнаружения событий перемещения мыши, можно ли сделать это так?
func mtkView(_ _: MTKView, drawableSizeWillChange Size: CGSize) {
if let TrackingArea = Area {
View.removeTrackingArea(TrackingArea)
}
Area = NSTrackingArea(rect: View.bounds, options: [.mouseEnteredAndExited, .mouseMoved, .activeInKeyWindow], owner: View, userInfo: nil)
View.addTrackingArea(Area!)
/*ProjectionMatrix = ProjectPerspective(Float(Size.width/Size.height))
View.draw()*/
}
Есть ли еще лучший способ реализовать области отслеживания в металлической игре? (Я надеюсь на это)
Ответ №1:
meh, на всякий случай я решил поместить их в области отслеживания обновлений