{"id":2067,"date":"2013-11-04T22:09:26","date_gmt":"2013-11-04T13:09:26","guid":{"rendered":"http:\/\/lepetit-prince.net\/ios\/?p=2067"},"modified":"2013-11-04T22:09:26","modified_gmt":"2013-11-04T13:09:26","slug":"%e3%83%8b%e3%83%a5%e3%83%bc%e3%83%88%e3%83%b3%e3%81%ae%e3%82%86%e3%82%8a%e3%81%8b%e3%81%94","status":"publish","type":"post","link":"https:\/\/lepetit-prince.net\/ios\/?p=2067","title":{"rendered":"\u30cb\u30e5\u30fc\u30c8\u30f3\u306e\u3086\u308a\u304b\u3054"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"iphone\u30cb\u30e5\u30fc\u30c8\u30f3\u3086\u308a\u304b\u3054\" src=\"https:\/\/lh6.googleusercontent.com\/-8Upjc38pPc8\/UnebYKWCgHI\/AAAAAAAABPA\/WNHlry5hLpI\/s288\/Screen%2520Shot%25202013-11-04%2520at%252010.03.48%2520PM.png\" title=\"iphone\u30cb\u30e5\u30fc\u30c8\u30f3\u3086\u308a\u304b\u3054\" class=\"alignnone\" width=\"288\" height=\"222\" \/><\/p>\n<p><\/p>\n<p>\n\u30cb\u30e5\u30fc\u30c8\u30f3\u306e\u3086\u308a\u304b\u3054\u307f\u305f\u3044\u306a\u30ab\u30c1\u30ab\u30c1\u7403\u3092\u3076\u3064\u3051\u308biPhone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7\u30eb\u3092\u63cf\u3044\u3066\u307f\u307e\u3059\u3002\n<\/p>\n<p><!--more--><br \/>\n<\/p>\n<p>\n\u52d5\u4f5c\u30a4\u30e1\u30fc\u30b8<br \/>\nXcode\u304b\u3089iOS7 iPhone Simulator\u3067\u52d5\u304b\u3059\u3068\u3053\u3093\u306a\u611f\u3058\u306b\u306a\u308a\u307e\u3059\u3002\n<\/p>\n<p>\n<iframe loading=\"lazy\" title=\"Today&#039;s iOS sample no.321 Newton&#039;s cradle\" width=\"620\" height=\"349\" src=\"https:\/\/www.youtube.com\/embed\/_FPM6lP08D0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>\n\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\n<\/p>\n<p><\/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; color: #d12f1b\"><span style=\"color: #78492a\">#import <\/span>&lt;SpriteKit\/SpriteKit.h&gt;<\/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\">@interface<\/span> CradleScene : <span style=\"color: #703daa\">SKScene<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">@property<\/span> <span style=\"color: #bb2ca2\">BOOL<\/span> contentCreated;<\/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; color: #bb2ca2\">@implementation<span style=\"color: #000000\"> CradleScene<\/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\">&#8211; (<span style=\"color: #bb2ca2\">void<\/span>)didMoveToView:(<span style=\"color: #703daa\">SKView<\/span> *)view<\/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; color: #4f8187\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">if<\/span><span style=\"color: #000000\"> (!<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>contentCreated<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 \u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>createSceneContents<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4f8187\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>contentCreated<span style=\"color: #000000\"> = <\/span><span style=\"color: #bb2ca2\">YES<\/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\">}<\/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>)createSceneContents<\/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; 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\"> *bar = [<\/span><span style=\"color: #703daa\">SKSpriteNode<\/span><span style=\"color: #000000\"> <\/span>spriteNodeWithColor<span style=\"color: #000000\">:[<\/span><span style=\"color: #78492a\">SKColor<\/span><span style=\"color: #000000\"> <\/span>whiteColor<span style=\"color: #000000\">] <\/span>size<span style=\"color: #000000\">:<\/span>CGSizeMake<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">320<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">10<\/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>bar.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(<span style=\"color: #272ad8\">160<\/span>, <span style=\"color: #272ad8\">250<\/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: #3d1d81\">addChild<\/span>:bar];<\/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>bar.<\/span>physicsBody<span style=\"color: #000000\"> = [<\/span>SKPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyWithRectangleOfSize<\/span><span style=\"color: #000000\">:bar.<\/span>size<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>bar.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>dynamic<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; 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\">UIBezierPath<\/span><span style=\"color: #000000\"> *path = [<\/span><span style=\"color: #703daa\">UIBezierPath<\/span><span style=\"color: #000000\"> <\/span>bezierPathWithOvalInRect<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\">20<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">40<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">40<\/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\">for<\/span> (<span style=\"color: #bb2ca2\">int<\/span> i=<span style=\"color: #272ad8\">0<\/span>; i&lt;<span style=\"color: #272ad8\">5<\/span>; i++) {<\/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><\/span>SKShapeNode<span style=\"color: #000000\"> *ball = [<\/span>SKShapeNode<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">node<\/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>ball.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;ball&#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 \u00a0 \u00a0 <\/span>ball.<span style=\"color: #703daa\">path<\/span> = path.<span style=\"color: #703daa\">CGPath<\/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>ball.<span style=\"color: #703daa\">fillColor<\/span> = [<span style=\"color: #78492a\">SKColor<\/span> <span style=\"color: #3d1d81\">whiteColor<\/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>ball.<span style=\"color: #703daa\">strokeColor<\/span> = [<span style=\"color: #78492a\">SKColor<\/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 \u00a0 \u00a0 <\/span>ball.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(<span style=\"color: #272ad8\">41<\/span> * i + <span style=\"color: #272ad8\">80<\/span>, <span style=\"color: #272ad8\">100<\/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\">self<\/span> <span style=\"color: #3d1d81\">addChild<\/span>:ball];<\/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>physicsBody<span style=\"color: #000000\"> = [<\/span>SKPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyWithCircleOfRadius<\/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; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>ball.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>restitution<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; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \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 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SKSpriteNode<\/span><span style=\"color: #000000\"> *wire = [<\/span><span style=\"color: #703daa\">SKSpriteNode<\/span><span style=\"color: #000000\"> <\/span>spriteNodeWithColor<span style=\"color: #000000\">:[<\/span><span style=\"color: #78492a\">SKColor<\/span><span style=\"color: #000000\"> <\/span>whiteColor<span style=\"color: #000000\">] <\/span>size<span style=\"color: #000000\">:<\/span>CGSizeMake<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">130<\/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>wire.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(ball.<span style=\"color: #703daa\">position<\/span>.<span style=\"color: #703daa\">x<\/span>, <span style=\"color: #272ad8\">185<\/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\">self<\/span> <span style=\"color: #3d1d81\">addChild<\/span>:wire];<\/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>wire.<\/span>physicsBody<span style=\"color: #000000\"> = [<\/span>SKPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyWithRectangleOfSize<\/span><span style=\"color: #000000\">:wire.<\/span>size<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 \u00a0 \u00a0 <\/span>wire.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>affectedByGravity<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; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \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 \u00a0 \u00a0 <\/span><\/span>SKPhysicsJointPin<span style=\"color: #000000\"> *top = [<\/span>SKPhysicsJointPin<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">jointWithBodyA<\/span><span style=\"color: #000000\">:bar.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyB<\/span><span style=\"color: #000000\">:wire.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">anchor<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #3d1d81\">CGPointMake<\/span><span style=\"color: #000000\">(wire.<\/span>position<span style=\"color: #000000\">.<\/span>x<span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">240<\/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: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">physicsWorld<\/span> <span style=\"color: #3d1d81\">addJoint<\/span>:top];<\/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 \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 \u00a0 \u00a0 <\/span><\/span>SKPhysicsJointPin<span style=\"color: #000000\"> *ballAndWire = [<\/span>SKPhysicsJointPin<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">jointWithBodyA<\/span><span style=\"color: #000000\">:wire.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyB<\/span><span style=\"color: #000000\">:ball.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">anchor<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #3d1d81\">CGPointMake<\/span><span style=\"color: #000000\">(wire.<\/span>position<span style=\"color: #000000\">.<\/span>x<span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">130<\/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>ballAndWire.<span style=\"color: #703daa\">frictionTorque<\/span> = <span style=\"color: #272ad8\">1.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\">self<\/span>.<span style=\"color: #703daa\">physicsWorld<\/span> <span style=\"color: #3d1d81\">addJoint<\/span>:ballAndWire];<\/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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>SKLabelNode<span style=\"color: #000000\"> *stop = [<\/span>SKLabelNode<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">node<\/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>stop.<span style=\"color: #703daa\">text<\/span> = <span style=\"color: #d12f1b\">@&#8221;stop&#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>stop.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;stop&#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>stop.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(<span style=\"color: #272ad8\">160<\/span>, <span style=\"color: #272ad8\">20<\/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: #3d1d81\">addChild<\/span>:stop];<\/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; 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>)reset<\/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; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>enumerateChildNodesWithName<span style=\"color: #000000\">:<\/span><span style=\"color: #d12f1b\">@&#8221;ball&#8221;<\/span><span style=\"color: #000000\"> <\/span>usingBlock<span style=\"color: #000000\">:^(<\/span><span style=\"color: #703daa\">SKNode<\/span><span style=\"color: #000000\"> *node, <\/span><span style=\"color: #bb2ca2\">BOOL<\/span><span style=\"color: #000000\"> *stop) {<\/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>node.<span style=\"color: #703daa\">physicsBody<\/span>.<span style=\"color: #703daa\">velocity<\/span> = <span style=\"color: #3d1d81\">CGVectorMake<\/span>(<span style=\"color: #272ad8\">0<\/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>}];<\/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\">{<\/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\">CGPoint<\/span> p = [[touches <span style=\"color: #3d1d81\">anyObject<\/span>] <span style=\"color: #3d1d81\">locationInNode<\/span>:<span style=\"color: #bb2ca2\">self<\/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: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span>enumerateChildNodesWithName<span style=\"color: #000000\">:<\/span><span style=\"color: #d12f1b\">@&#8221;ball&#8221;<\/span><span style=\"color: #000000\"> <\/span>usingBlock<span style=\"color: #000000\">:^(<\/span><span style=\"color: #703daa\">SKNode<\/span><span style=\"color: #000000\"> *node, <\/span><span style=\"color: #bb2ca2\">BOOL<\/span><span style=\"color: #000000\"> *stop) {<\/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\">if<\/span> ([node <span style=\"color: #3d1d81\">containsPoint<\/span>:p]) {<\/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\">float<\/span> dx = <span style=\"color: #272ad8\">20<\/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\">if<\/span> (p.<span style=\"color: #703daa\">x<\/span> &lt; <span style=\"color: #272ad8\">160<\/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 \u00a0 \u00a0 <\/span>dx = -dx;<\/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>}<\/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>[node.<span style=\"color: #703daa\">physicsBody<\/span> <span style=\"color: #3d1d81\">applyImpulse<\/span>:<span style=\"color: #3d1d81\">CGVectorMake<\/span>(dx, <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 \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>}];<\/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> *stop = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;stop&#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\">if<\/span> ([stop <span style=\"color: #3d1d81\">containsPoint<\/span>:p]) {<\/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: #31595d\">reset<\/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; 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; 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; 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 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\">{<\/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; 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: #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: #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; 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\">SKScene<\/span> *scene = [[<span style=\"color: #4f8187\">CradleScene<\/span> <span style=\"color: #3d1d81\">alloc<\/span>] <span style=\"color: #3d1d81\">initWithSize<\/span>:spriteView.<span style=\"color: #703daa\">bounds<\/span>.<span style=\"color: #703daa\">size<\/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>:scene];<\/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>)didReceiveMemoryWarning<\/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; 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>didReceiveMemoryWarning<span style=\"color: #000000\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>\/\/ Dispose of any resources that can be recreated.<\/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>\u30cb\u30e5\u30fc\u30c8\u30f3\u306e\u3086\u308a\u304b\u3054\u307f\u305f\u3044\u306a\u30ab\u30c1\u30ab\u30c1\u7403\u3092\u3076\u3064\u3051\u308biPho&#8230;<\/p>\n","protected":false},"author":2,"featured_media":2070,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[116,24,117],"class_list":["post-2067","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","tag-ios7","tag-iphone","tag-spritekit"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/lepetit-prince.net\/ios\/wp-content\/uploads\/c938f8340ce782299145565c3a8b6682.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/2067","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=2067"}],"version-history":[{"count":1,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/2067\/revisions"}],"predecessor-version":[{"id":2069,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/2067\/revisions\/2069"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/media\/2070"}],"wp:attachment":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}