{"id":3239,"date":"2014-11-01T23:51:39","date_gmt":"2014-11-01T14:51:39","guid":{"rendered":"http:\/\/lepetit-prince.net\/ios\/?p=3239"},"modified":"2014-11-01T23:51:39","modified_gmt":"2014-11-01T14:51:39","slug":"%e3%82%ab%e3%83%a1%e3%83%a9%e5%86%86%e5%91%a8","status":"publish","type":"post","link":"https:\/\/lepetit-prince.net\/ios\/?p=3239","title":{"rendered":"\u30ab\u30e1\u30e9\u5186\u5468"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/-z8WhyCC75q8\/VFTzBTcTVlI\/AAAAAAAAC2w\/GRAcXupl6Bg\/s288\/Screen%2520Shot%25202014-11-01%2520at%252011.47.51%2520PM.png\" width=\"288\" height=\"164\" alt=\"iPhone\u30ab\u30e1\u30e9\u5186\u5468\" class=\"alignnone\" \/><br \/>\n<\/p>\n<p>\n\u30ab\u30e1\u30e9\u3092\u5186\u5468\u4e0a\u306b\u307e\u308f\u3059Phone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63cf\u3044\u3066\u307f\u307e\u3059\n<\/p>\n<p>\n<iframe loading=\"lazy\" width=\"467\" height=\"350\" src=\"https:\/\/www.youtube.com\/embed\/owIZuidJaxU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12f1b\"><span style=\"color: #78492a\">#import <\/span>&#8220;ViewController.h&#8221;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">@import<\/span> SceneKit;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">@import<\/span> SpriteKit;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #bb2ca2\">@interface<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #4f8187\">ViewController<\/span><span style=\"color: #000000\"> () &lt;<\/span>SCNSceneRendererDelegate<span style=\"color: #000000\">&gt;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@property<span style=\"color: #000000\"> (<\/span>nonatomic<span style=\"color: #000000\">, <\/span>weak<span style=\"color: #000000\">) <\/span><span style=\"color: #703daa\">SCNScene<\/span><span style=\"color: #000000\"> *scene;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@property<span style=\"color: #000000\"> (<\/span>nonatomic<span style=\"color: #000000\">, <\/span>weak<span style=\"color: #000000\">) <\/span><span style=\"color: #703daa\">SCNView<\/span><span style=\"color: #000000\"> *sceneView;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@property<span style=\"color: #000000\"> (<\/span>nonatomic<span style=\"color: #000000\">, <\/span>weak<span style=\"color: #000000\">) <\/span><span style=\"color: #703daa\">SKView<\/span><span style=\"color: #000000\"> *spriteView;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@end<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">@implementation<\/span> ViewController<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)viewDidLoad {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">super<\/span><span style=\"color: #000000\"> <\/span>viewDidLoad<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>setupScene<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>createObjects<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>createCamera<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>createCameraController<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)setupScene {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> w = <span style=\"color: #3d1d81\">CGRectGetMaxX<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNView<\/span> *sceneView = [[<span style=\"color: #703daa\">SCNView<\/span> <span style=\"color: #3d1d81\">alloc<\/span>] <span style=\"color: #3d1d81\">initWithFrame<\/span>:<span style=\"color: #3d1d81\">CGRectMake<\/span>(<span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">0<\/span>, w, w)];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>sceneView.<span style=\"color: #703daa\">backgroundColor<\/span> = [<span style=\"color: #703daa\">UIColor<\/span> <span style=\"color: #3d1d81\">colorWithRed<\/span>:<span style=\"color: #272ad8\">239.0<\/span>\/<span style=\"color: #272ad8\">255.0<\/span> <span style=\"color: #3d1d81\">green<\/span>:<span style=\"color: #272ad8\">236.0<\/span>\/<span style=\"color: #272ad8\">255.0<\/span> <span style=\"color: #3d1d81\">blue<\/span>:<span style=\"color: #272ad8\">202.0<\/span>\/<span style=\"color: #272ad8\">255.0<\/span> <span style=\"color: #3d1d81\">alpha<\/span>:<span style=\"color: #272ad8\">1<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>sceneView.<span style=\"color: #703daa\">scene<\/span> = [<span style=\"color: #703daa\">SCNScene<\/span> <span style=\"color: #3d1d81\">scene<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>sceneView.<span style=\"color: #703daa\">delegate<\/span> = <span style=\"color: #bb2ca2\">self<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span> <span style=\"color: #3d1d81\">addSubview<\/span>:sceneView];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span> = sceneView.<span style=\"color: #703daa\">scene<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">sceneView<\/span> = sceneView;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SKView<\/span> *spriteView = [[<span style=\"color: #703daa\">SKView<\/span> <span style=\"color: #3d1d81\">alloc<\/span>] <span style=\"color: #3d1d81\">initWithFrame<\/span>:<span style=\"color: #3d1d81\">CGRectMake<\/span>(<span style=\"color: #272ad8\">0<\/span>, w, w, <span style=\"color: #3d1d81\">CGRectGetMaxY<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>) &#8211; w)];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span> <span style=\"color: #3d1d81\">addSubview<\/span>:spriteView];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SKScene<\/span> *skscene = [<span style=\"color: #703daa\">SKScene<\/span> <span style=\"color: #3d1d81\">sceneWithSize<\/span>:spriteView.<span style=\"color: #703daa\">frame<\/span>.<span style=\"color: #703daa\">size<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #272ad8\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>skscene.<\/span><span style=\"color: #703daa\">backgroundColor<\/span><span style=\"color: #000000\"> = [<\/span><span style=\"color: #703daa\">UIColor<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">colorWithRed<\/span><span style=\"color: #000000\">:<\/span>167.0<span style=\"color: #000000\">\/<\/span>255.0<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">green<\/span><span style=\"color: #000000\">:<\/span>163.0<span style=\"color: #000000\">\/<\/span>255.0<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">blue<\/span><span style=\"color: #000000\">:<\/span>126.0<span style=\"color: #000000\">\/<\/span>255.0<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">alpha<\/span><span style=\"color: #000000\">:<\/span>1<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[spriteView <span style=\"color: #3d1d81\">presentScene<\/span>:skscene];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">spriteView<\/span> = spriteView;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)createCamera {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *camera = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">node<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;camera&#8221;<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">camera<\/span> = [<span style=\"color: #703daa\">SCNCamera<\/span> <span style=\"color: #3d1d81\">camera<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">5<\/span>, <span style=\"color: #272ad8\">40<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>.<span style=\"color: #703daa\">rootNode<\/span> <span style=\"color: #3d1d81\">addChildNode<\/span>:camera];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>camera.<\/span><span style=\"color: #703daa\">constraints<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">@[<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #703daa\">SCNLookAtConstraint<\/span><span style=\"color: #000000\"> <\/span>lookAtConstraintWithTarget<span style=\"color: #000000\">:[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">scene<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">rootNode<\/span><span style=\"color: #000000\"> <\/span>childNodeWithName<span style=\"color: #000000\">:<\/span><span style=\"color: #d12f1b\">@&#8221;center&#8221;<\/span><span style=\"color: #000000\"> <\/span>recursively<span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">false<\/span><span style=\"color: #000000\">]]<\/span><span style=\"color: #272ad8\">]<\/span><span style=\"color: #000000\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)createObjects {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">for<\/span> (<span style=\"color: #bb2ca2\">int<\/span> i=<span style=\"color: #272ad8\">0<\/span>; i&lt;<span style=\"color: #272ad8\">20<\/span>; i++) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> dAngle = <span style=\"color: #78492a\">M_PI<\/span> \/ <span style=\"color: #272ad8\">5.0<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> x = <span style=\"color: #272ad8\">10<\/span> * <span style=\"color: #3d1d81\">cos<\/span>(dAngle * i);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> z = <span style=\"color: #272ad8\">10<\/span> * <span style=\"color: #3d1d81\">sin<\/span>(dAngle * i);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNSphere<\/span> *ball = [<span style=\"color: #703daa\">SCNSphere<\/span> <span style=\"color: #3d1d81\">sphereWithRadius<\/span>:<span style=\"color: #272ad8\">2<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>ball.<\/span><span style=\"color: #703daa\">firstMaterial<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">diffuse<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">contents<\/span><span style=\"color: #000000\"> = [<\/span><span style=\"color: #703daa\">UIColor<\/span><span style=\"color: #000000\"> <\/span>colorWithHue<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.05<\/span><span style=\"color: #000000\"> * i <\/span>saturation<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.7<\/span><span style=\"color: #000000\"> <\/span>brightness<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\"> <\/span>alpha<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *ballNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">nodeWithGeometry<\/span>:ball];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>ballNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(x, i &#8211; <span style=\"color: #272ad8\">8<\/span>, z);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>.<span style=\"color: #703daa\">rootNode<\/span> <span style=\"color: #3d1d81\">addChildNode<\/span>:ballNode];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SCNCylinder<\/span><span style=\"color: #000000\"> *c = [<\/span><span style=\"color: #703daa\">SCNCylinder<\/span><span style=\"color: #000000\"> <\/span>cylinderWithRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.2<\/span><span style=\"color: #000000\"> <\/span>height<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">30<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>c.<\/span>firstMaterial<span style=\"color: #000000\">.<\/span>diffuse<span style=\"color: #000000\">.<\/span>contents<span style=\"color: #000000\"> = [<\/span>UIColor<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">colorWithRed<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\">\/<\/span><span style=\"color: #272ad8\">255.0<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">green<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">47.0<\/span><span style=\"color: #000000\">\/<\/span><span style=\"color: #272ad8\">255.0<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">blue<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">47.0<\/span><span style=\"color: #000000\">\/<\/span><span style=\"color: #272ad8\">255.0<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">alpha<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SCNNode<\/span> *cNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">nodeWithGeometry<\/span>:c];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>cNode.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;center&#8221;<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>.<span style=\"color: #703daa\">rootNode<\/span> <span style=\"color: #3d1d81\">addChildNode<\/span>:cNode];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[cNode <\/span>runAction<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SCNAction<\/span><span style=\"color: #000000\"> <\/span>repeatActionForever<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SCNAction<\/span><span style=\"color: #000000\"> <\/span>rotateByAngle<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.1<\/span><span style=\"color: #000000\"> <\/span>aroundAxis<span style=\"color: #000000\">:<\/span>SCNVector3Make<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\">) <\/span>duration<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1.0<\/span><span style=\"color: #000000\">]]];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)createCameraController {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SKShapeNode<\/span><span style=\"color: #000000\"> *line = [<\/span><span style=\"color: #703daa\">SKShapeNode<\/span><span style=\"color: #000000\"> <\/span>shapeNodeWithCircleOfRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">100<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>line.<\/span><span style=\"color: #703daa\">position<\/span><span style=\"color: #000000\"> = <\/span>CGPointMake<span style=\"color: #000000\">(<\/span>CGRectGetMidX<span style=\"color: #000000\">(<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">spriteView<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">bounds<\/span><span style=\"color: #000000\">), <\/span>CGRectGetMidY<span style=\"color: #000000\">(<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">spriteView<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">bounds<\/span><span style=\"color: #000000\">));<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>line.<span style=\"color: #703daa\">fillColor<\/span> = [<span style=\"color: #703daa\">UIColor<\/span> <span style=\"color: #3d1d81\">clearColor<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>line.<span style=\"color: #703daa\">strokeColor<\/span> = [<span style=\"color: #703daa\">UIColor<\/span> <span style=\"color: #3d1d81\">colorWithRed<\/span>:<span style=\"color: #272ad8\">0<\/span>\/<span style=\"color: #272ad8\">255.0<\/span> <span style=\"color: #3d1d81\">green<\/span>:<span style=\"color: #272ad8\">47.0<\/span>\/<span style=\"color: #272ad8\">255.0<\/span> <span style=\"color: #3d1d81\">blue<\/span>:<span style=\"color: #272ad8\">47.0<\/span>\/<span style=\"color: #272ad8\">255.0<\/span> <span style=\"color: #3d1d81\">alpha<\/span>:<span style=\"color: #272ad8\">1<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>line.<span style=\"color: #703daa\">lineWidth<\/span> = <span style=\"color: #272ad8\">5<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">spriteView<\/span>.<span style=\"color: #703daa\">scene<\/span> <span style=\"color: #3d1d81\">addChild<\/span>:line];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">UIColor<\/span> *color = [<span style=\"color: #703daa\">UIColor<\/span> <span style=\"color: #3d1d81\">colorWithRed<\/span>:<span style=\"color: #272ad8\">4.0<\/span>\/<span style=\"color: #272ad8\">255.0<\/span> <span style=\"color: #3d1d81\">green<\/span>:<span style=\"color: #272ad8\">99.0<\/span>\/<span style=\"color: #272ad8\">255.0<\/span> <span style=\"color: #3d1d81\">blue<\/span>:<span style=\"color: #272ad8\">128.0<\/span>\/<span style=\"color: #272ad8\">255.0<\/span> <span style=\"color: #3d1d81\">alpha<\/span>:<span style=\"color: #272ad8\">1<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SKNode<\/span> *cameraMark = [<span style=\"color: #703daa\">SKNode<\/span> <span style=\"color: #3d1d81\">node<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>cameraMark.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;mark&#8221;<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>cameraMark.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(line.<span style=\"color: #703daa\">position<\/span>.<span style=\"color: #703daa\">x<\/span> &#8211; <span style=\"color: #272ad8\">100<\/span>, line.<span style=\"color: #703daa\">position<\/span>.<span style=\"color: #703daa\">y<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SKSpriteNode<\/span><span style=\"color: #000000\"> *body = [<\/span><span style=\"color: #703daa\">SKSpriteNode<\/span><span style=\"color: #000000\"> <\/span>spriteNodeWithColor<span style=\"color: #000000\">:color <\/span>size<span style=\"color: #000000\">:<\/span>CGSizeMake<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">30<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">20<\/span><span style=\"color: #000000\">)];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[cameraMark <span style=\"color: #3d1d81\">addChild<\/span>:body];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SKShapeNode<\/span><span style=\"color: #000000\"> *lens = [<\/span><span style=\"color: #703daa\">SKShapeNode<\/span><span style=\"color: #000000\"> <\/span>shapeNodeWithEllipseInRect<span style=\"color: #000000\">:<\/span>CGRectMake<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">20<\/span><span style=\"color: #000000\">, &#8211;<\/span><span style=\"color: #272ad8\">10<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">10<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">20<\/span><span style=\"color: #000000\">)];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>lens.<span style=\"color: #703daa\">fillColor<\/span> = color;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>lens.<\/span>strokeColor<span style=\"color: #000000\"> = [<\/span>UIColor<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">clearColor<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[cameraMark <span style=\"color: #3d1d81\">addChild<\/span>:lens];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">spriteView<\/span>.<span style=\"color: #703daa\">scene<\/span> <span style=\"color: #3d1d81\">addChild<\/span>:cameraMark];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)touchesBegan:(<span style=\"color: #703daa\">NSSet<\/span> *)touches withEvent:(<span style=\"color: #703daa\">UIEvent<\/span> *)event {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SKNode<\/span> *mark = [<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">spriteView<\/span>.<span style=\"color: #703daa\">scene<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;mark&#8221;<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">CGPoint<\/span><span style=\"color: #000000\"> p = <\/span>CGPointMake<span style=\"color: #000000\">(<\/span>CGRectGetMidX<span style=\"color: #000000\">(<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">spriteView<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">bounds<\/span><span style=\"color: #000000\">), <\/span>CGRectGetMidY<span style=\"color: #000000\">(<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">spriteView<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">bounds<\/span><span style=\"color: #000000\">));<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> s = mark.<span style=\"color: #703daa\">zRotation<\/span> + <span style=\"color: #78492a\">M_PI<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">float<\/span> e = s &#8211; <span style=\"color: #78492a\">M_PI<\/span> \/ <span style=\"color: #272ad8\">2.0<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">UIBezierPath<\/span><span style=\"color: #000000\"> *path = [<\/span><span style=\"color: #703daa\">UIBezierPath<\/span><span style=\"color: #000000\"> <\/span>bezierPathWithArcCenter<span style=\"color: #000000\">:p <\/span>radius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">100<\/span><span style=\"color: #000000\"> <\/span>startAngle<span style=\"color: #000000\">:s <\/span>endAngle<span style=\"color: #000000\">:e <\/span>clockwise<span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">NO<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[mark <\/span>runAction<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SKAction<\/span><span style=\"color: #000000\"> <\/span>followPath<span style=\"color: #000000\">:path.<\/span><span style=\"color: #703daa\">CGPath<\/span><span style=\"color: #000000\"> <\/span>asOffset<span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">NO<\/span><span style=\"color: #000000\"> <\/span>orientToPath<span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">YES<\/span><span style=\"color: #000000\"> <\/span>duration<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">1.0<\/span><span style=\"color: #000000\">] <\/span>completion<span style=\"color: #000000\">:^{<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>mark.<span style=\"color: #703daa\">zRotation<\/span> = e &#8211; <span style=\"color: #78492a\">M_PI<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)renderer:(<span style=\"color: #bb2ca2\">id<\/span>&lt;<span style=\"color: #703daa\">SCNSceneRenderer<\/span>&gt;)aRenderer updateAtTime:(<span style=\"color: #703daa\">NSTimeInterval<\/span>)time<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">{<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SKNode<\/span> *mark = [<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">spriteView<\/span>.<span style=\"color: #703daa\">scene<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;mark&#8221;<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SCNNode<\/span><span style=\"color: #000000\"> *camera = [<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">scene<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">rootNode<\/span><span style=\"color: #000000\"> <\/span>childNodeWithName<span style=\"color: #000000\">:<\/span><span style=\"color: #d12f1b\">@&#8221;camera&#8221;<\/span><span style=\"color: #000000\"> <\/span>recursively<span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">false<\/span><span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">constraints<\/span> = <span style=\"color: #bb2ca2\">nil<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">40.0<\/span> * <span style=\"color: #3d1d81\">cos<\/span>(mark.<span style=\"color: #703daa\">zRotation<\/span>), <span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">40.0<\/span> * <span style=\"color: #3d1d81\">sin<\/span>(mark.<span style=\"color: #703daa\">zRotation<\/span>));<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>camera.<\/span><span style=\"color: #703daa\">constraints<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">@[<\/span><span style=\"color: #000000\">[<\/span><span style=\"color: #703daa\">SCNLookAtConstraint<\/span><span style=\"color: #000000\"> <\/span>lookAtConstraintWithTarget<span style=\"color: #000000\">:[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #4f8187\">scene<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">rootNode<\/span><span style=\"color: #000000\"> <\/span>childNodeWithName<span style=\"color: #000000\">:<\/span><span style=\"color: #d12f1b\">@&#8221;center&#8221;<\/span><span style=\"color: #000000\"> <\/span>recursively<span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">false<\/span><span style=\"color: #000000\">]]<\/span><span style=\"color: #272ad8\">]<\/span><span style=\"color: #000000\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2\">@end<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30ab\u30e1\u30e9\u3092\u5186\u5468\u4e0a\u306b\u307e\u308f\u3059Phone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3241,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[125,24,119,126,117],"class_list":["post-3239","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","tag-ios8","tag-iphone","tag-objective-c","tag-scenekit","tag-spritekit"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/lepetit-prince.net\/ios\/wp-content\/uploads\/d2d4f53bd7d9f7797dafb4cc2f80426b.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3239"}],"version-history":[{"count":1,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3239\/revisions"}],"predecessor-version":[{"id":3240,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3239\/revisions\/3240"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/media\/3241"}],"wp:attachment":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}