{"id":3264,"date":"2014-11-09T23:06:43","date_gmt":"2014-11-09T14:06:43","guid":{"rendered":"http:\/\/lepetit-prince.net\/ios\/?p=3264"},"modified":"2014-11-09T23:06:43","modified_gmt":"2014-11-09T14:06:43","slug":"%e3%83%9c%e3%83%bc%e3%83%ab%e6%b7%b7%e3%81%9c","status":"publish","type":"post","link":"https:\/\/lepetit-prince.net\/ios\/?p=3264","title":{"rendered":"\u30dc\u30fc\u30eb\u6df7\u305c"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/-nCK56NjGdlQ\/VF90a8yokuI\/AAAAAAAAC40\/ZHj5kzcTJ_g\/s288\/Screen%2520Shot%25202014-11-09%2520at%252011.04.04%2520PM.png\" width=\"288\" height=\"170\" alt=\"iPhone\u30dc\u30fc\u30eb\u6df7\u305c\" class=\"alignnone\" \/><br \/>\n<\/p>\n<p>\n\u5186\u7b52\u306e\u4e2d\u3067\u30dc\u30fc\u30eb\u3092\u307e\u305c\u307e\u305c\u3059\u308biPhone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63cf\u3044\u3066\u307f\u307e\u3059\u3002\n<\/p>\n<p>\n<iframe loading=\"lazy\" width=\"467\" height=\"350\" src=\"https:\/\/www.youtube.com\/embed\/6_2c6Lrjb8M?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; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4f8187\"><span style=\"color: #bb2ca2\">@interface<\/span><span style=\"color: #000000\"> <\/span>ViewController<span style=\"color: #000000\"> ()<\/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\">@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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>view<span style=\"color: #000000\">.<\/span>backgroundColor<span style=\"color: #000000\"> = [<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #31595d\">color<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\">];<\/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: #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>createScene<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>createCup<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>createMuddler<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\">}<\/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>)createScene {<\/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> *sv = [[<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>sv.<span style=\"color: #703daa\">backgroundColor<\/span> = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #31595d\">color<\/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>sv.<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>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span> <span style=\"color: #3d1d81\">addSubview<\/span>:sv];<\/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> = sv.<span style=\"color: #703daa\">scene<\/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>)createCup {<\/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\">SCNTube<\/span><span style=\"color: #000000\"> *tube = [<\/span><span style=\"color: #703daa\">SCNTube<\/span><span style=\"color: #000000\"> <\/span>tubeWithInnerRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">10<\/span><span style=\"color: #000000\"> <\/span>outerRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">11<\/span><span style=\"color: #000000\"> <\/span>height<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; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>tube.<\/span>firstMaterial<span style=\"color: #000000\">.<\/span>diffuse<span style=\"color: #000000\">.<\/span>contents<span style=\"color: #000000\"> = [[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #31595d\">color<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">2<\/span><span style=\"color: #000000\">] <\/span><span style=\"color: #3d1d81\">colorWithAlphaComponent<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.2<\/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> *tubeNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">nodeWithGeometry<\/span>:tube];<\/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>tubeNode.<\/span>physicsBody<span style=\"color: #000000\"> = [<\/span>SCNPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">staticBody<\/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>tubeNode.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>physicsShape<span style=\"color: #000000\"> = [<\/span>SCNPhysicsShape<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">shapeWithGeometry<\/span><span style=\"color: #000000\">:tube <\/span><span style=\"color: #3d1d81\">options<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">@{<\/span>SCNPhysicsShapeTypeKey<span style=\"color: #000000\">: <\/span>SCNPhysicsShapeTypeConcavePolyhedron<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\"><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>:tubeNode];<\/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\"> *bottom = [<\/span><span style=\"color: #703daa\">SCNCylinder<\/span><span style=\"color: #000000\"> <\/span>cylinderWithRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">10<\/span><span style=\"color: #000000\"> <\/span>height<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; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>bottom.<\/span>firstMaterial<span style=\"color: #000000\">.<\/span>diffuse<span style=\"color: #000000\">.<\/span>contents<span style=\"color: #000000\"> = [[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #31595d\">color<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">2<\/span><span style=\"color: #000000\">] <\/span><span style=\"color: #3d1d81\">colorWithAlphaComponent<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.2<\/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> *bottomNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">nodeWithGeometry<\/span>:bottom];<\/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>bottomNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">0<\/span>, &#8211;<span style=\"color: #272ad8\">10<\/span>, <span style=\"color: #272ad8\">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 <\/span>bottomNode.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;bottom&#8221;<\/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>bottomNode.<\/span>physicsBody<span style=\"color: #000000\"> = [<\/span>SCNPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">staticBody<\/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\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>.<span style=\"color: #703daa\">rootNode<\/span> <span style=\"color: #3d1d81\">addChildNode<\/span>:bottomNode];<\/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>)createMuddler {<\/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\"> *muddler = [<\/span><span style=\"color: #703daa\">SCNCylinder<\/span><span style=\"color: #000000\"> <\/span>cylinderWithRadius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0.5<\/span><span style=\"color: #000000\"> <\/span>height<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">18<\/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>muddler.<\/span>firstMaterial<span style=\"color: #000000\">.<\/span>diffuse<span style=\"color: #000000\">.<\/span>contents<span style=\"color: #000000\"> = [<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #31595d\">color<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">3<\/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> *muddlerNode = [<span style=\"color: #703daa\">SCNNode<\/span> <span style=\"color: #3d1d81\">nodeWithGeometry<\/span>:muddler];<\/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>muddlerNode.<span style=\"color: #703daa\">rotation<\/span> = <span style=\"color: #3d1d81\">SCNVector4Make<\/span>(<span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #272ad8\">1<\/span>, <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\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>muddlerNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">0<\/span>, &#8211;<span style=\"color: #272ad8\">8<\/span>, <span style=\"color: #272ad8\">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 <\/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>:muddlerNode];<\/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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>muddlerNode.<\/span>physicsBody<span style=\"color: #000000\"> = [<\/span>SCNPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">staticBody<\/span><span style=\"color: #000000\">];<\/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>[muddlerNode <\/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: #78492a\">M_PI<\/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\">2.0<\/span><span style=\"color: #000000\">]]];<\/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>)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\">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\">20<\/span>, <span style=\"color: #272ad8\">50<\/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;bottom&#8221;<\/span><span style=\"color: #000000\"> <\/span>recursively<span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">NO<\/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>)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\"><span class=\"Apple-converted-space\">\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\">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: #bb2ca2\">if<\/span> (<span style=\"color: #3d1d81\">arc4random<\/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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>ball.<\/span>firstMaterial<span style=\"color: #000000\">.<\/span>diffuse<span style=\"color: #000000\">.<\/span>contents<span style=\"color: #000000\"> = [<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #31595d\">color<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">4<\/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\">else<\/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 \u00a0 \u00a0 <\/span>ball.<\/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\">whiteColor<\/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>}<\/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 class=\"Apple-converted-space\">\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 <\/span>ballNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">SCNVector3Make<\/span>(<span style=\"color: #272ad8\">5<\/span>, <span style=\"color: #272ad8\">10<\/span>, <span style=\"color: #272ad8\">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 <\/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; 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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>ballNode.<\/span>physicsBody<span style=\"color: #000000\"> = [<\/span>SCNPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">dynamicBody<\/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>ballNode.<span style=\"color: #703daa\">physicsBody<\/span>.<span style=\"color: #703daa\">damping<\/span> = <span style=\"color: #272ad8\">0.7<\/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: #78492a\">#define ColorHex(rgb) [UIColor colorWithRed:((rgb &amp; <span style=\"color: #272ad8\">0xFF0000<\/span>) &gt;&gt; <span style=\"color: #272ad8\">16<\/span>)\/<span style=\"color: #272ad8\">255.0<\/span> green:((rgb &amp; <span style=\"color: #272ad8\">0xFF00<\/span>) &gt;&gt; <span style=\"color: #272ad8\">8<\/span>)\/<span style=\"color: #272ad8\">255.0<\/span> blue:(rgb &amp; <span style=\"color: #272ad8\">0xFF<\/span>)\/<span style=\"color: #272ad8\">255.0<\/span> alpha:<span style=\"color: #272ad8\">1<\/span>]<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">&#8211; (<span style=\"color: #703daa\">UIColor<\/span> *)color:(<span style=\"color: #bb2ca2\">int<\/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 <\/span><span style=\"color: #bb2ca2\">switch<\/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\">case<\/span> <span style=\"color: #272ad8\">0<\/span>: <span style=\"color: #bb2ca2\">return<\/span> <span style=\"color: #78492a\">ColorHex<\/span>(<span style=\"color: #272ad8\">0x56626B<\/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\">case<\/span> <span style=\"color: #272ad8\">1<\/span>: <span style=\"color: #bb2ca2\">return<\/span> <span style=\"color: #78492a\">ColorHex<\/span>(<span style=\"color: #272ad8\">0x6C9380<\/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\">case<\/span> <span style=\"color: #272ad8\">2<\/span>: <span style=\"color: #bb2ca2\">return<\/span> <span style=\"color: #78492a\">ColorHex<\/span>(<span style=\"color: #272ad8\">0xC0CA55<\/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\">case<\/span> <span style=\"color: #272ad8\">3<\/span>: <span style=\"color: #bb2ca2\">return<\/span> <span style=\"color: #78492a\">ColorHex<\/span>(<span style=\"color: #272ad8\">0xF07C6C<\/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\">case<\/span> <span style=\"color: #272ad8\">4<\/span>: <span style=\"color: #bb2ca2\">return<\/span> <span style=\"color: #78492a\">ColorHex<\/span>(<span style=\"color: #272ad8\">0xAD5472<\/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\">default<\/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 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">break<\/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; color: #bb2ca2\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>return<span style=\"color: #000000\"> <\/span>nil<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>\u5186\u7b52\u306e\u4e2d\u3067\u30dc\u30fc\u30eb\u3092\u307e\u305c\u307e\u305c\u3059\u308biPhone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3266,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[125,24,126,124],"class_list":["post-3264","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","tag-ios8","tag-iphone","tag-scenekit","tag-swift"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/lepetit-prince.net\/ios\/wp-content\/uploads\/41ae1483d96df8a80084bebddca09dbd.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3264","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=3264"}],"version-history":[{"count":1,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3264\/revisions"}],"predecessor-version":[{"id":3265,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3264\/revisions\/3265"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/media\/3266"}],"wp:attachment":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}