2016-09-05 1 views
0

Ich versuche SceneKit zum ersten Mal für ein Spiel zu verwenden und frage mich, was Sie für eine Spielschleife tun sollten, um den Spielstatus zu aktualisieren. Ich bin mir dessen bewusstWie richte ich eine Spielschleife für SceneKit ein?

SCNSceneRendererDelegate.renderer:updateAtTime: 

aber dies wird nicht aufgerufen, wenn es keine Änderungen an der Szene sind und es muss nicht neu gerendert werden. Ich weiß auch, dass Sie Rendering

unter Verwendung erzwingen
SCNView.playing = true 

aber es scheint, verschwenderisch rendern zu erzwingen, wenn es nicht notwendig ist, da dies in meinem Spiel sein, häufig wird. Ich könnte eine NSTimer verwenden, aber wie synchronisieren Sie es dann mit render:updateAtTime:?

Antwort

0

Die Apple-Dokumentation für SCNSceneRendererDelegate nennt speziell renderer:updateAtTime: aus, renderer:didApplyAnimationsAtTime: und renderer:didSimulatePhysicsAtTime: als die Orte, benutzerdefinierte Spielschleife Logik hinzuzufügen.

Haben Sie (mit Instrumenten) eine Leistungs- oder Energiedifferenz gemessen, wenn SCNView.playingtrue ist? Das klingt nach einer vorzeitigen Optimierung.

Verwandte Themen