Ho aggiunto un pulsante personalizzato alla vista scenaKit. Quando viene toccato, riproduce un'animazione, a indicare che è stato fatto clic. Il problema che sto affrontando è il ritardo tra il tocco dell'utente e l'inizio dell'animazione. La mia scena ha triangoli 28.1K e vertici 84.4K. È troppo o ho bisogno di implementare i pulsanti in modo diverso. La scena viene visualizzata con 60 fps. Ho aggiunto il pulsante tramite sceneView.addSubview: Grazie per le risposteaggiunto pulsante alla vista sceneKit ma ha un ritardo
viewDidLoad(){
// relevant code
starButton = UIButton(type: UIButtonType.Custom)
starButton.frame = CGRectMake(100, 100, 50, 50)
starButton.setImage(UIImage(named: "yellowstar.png"), forState: UIControlState.Normal)
sceneView.addSubview(starButton)
starButton.addTarget(self, action: "starButtonClicked", forControlEvents: UIControlEvents.TouchUpInside)
starButton.adjustsImageWhenHighlighted = false
}
func starButtonClicked(){
animateScaleDown()
}
func animateScaleDown(){
UIView.animateWithDuration(0.1, animations: {
self.starButton.transform = CGAffineTransformMakeScale(0.8, 0.8)
}, completion: { _ in
self.wait()
})
}
func wait(){
UIView.animateWithDuration(0.2, animations: {}, completion: { _ in
UIView.animateWithDuration(0.2, animations: {
self.starButton.transform = CGAffineTransformMakeScale(1, 1)
})
})
}
Puoi pubblicare il codice touch e animazione? – aramusss
Ho modificato la mia domanda – brumbrum
Quanto ritardo è? Se sei molto sensibile, potresti vedere i 2 fotogrammi di ritardo inerenti all'SDK e iOS prima che inizi l'animazione. – Confused