{"id":2918,"date":"2014-07-25T00:06:25","date_gmt":"2014-07-24T15:06:25","guid":{"rendered":"http:\/\/lepetit-prince.net\/ios\/?p=2918"},"modified":"2014-07-25T00:06:25","modified_gmt":"2014-07-24T15:06:25","slug":"xy%e3%82%ae%e3%82%a2","status":"publish","type":"post","link":"https:\/\/lepetit-prince.net\/ios\/?p=2918","title":{"rendered":"XY\u30ae\u30a2"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/-L2vo4IQrfK0\/U9EgpPkdlUI\/AAAAAAAACcs\/pNZz_W9TGV4\/s288\/Screen%2520Shot%25202014-07-25%2520at%252012.04.04%2520AM.png\" width=\"288\" height=\"195\" alt=\"iPhoneXY\u30ae\u30a2\" class=\"alignnone\" \/><br \/>\n<\/p>\n<p>\nX\u8ef8Y\u8ef8\u306e\uff12\u3064\u306e\u8ef8\u3092\u30ae\u30a2\u3067\u52d5\u304b\u3059iPhone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63cf\u3044\u3066\u307f\u307e\u3059\u3002\n<\/p>\n<p><!--more--><\/p>\n<p>\n<iframe loading=\"lazy\" width=\"467\" height=\"350\" src=\"https:\/\/www.youtube.com\/embed\/neXlYPn15Uk?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\"><span style=\"color: #bb2ca2\">@import<\/span> SpriteKit;<\/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; 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> GearScene : <span style=\"color: #703daa\">SKScene<\/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>BOOL<span style=\"color: #000000\"> moveV;<\/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>BOOL<span style=\"color: #000000\"> moveH;<\/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; color: #bb2ca2\">@implementation<span style=\"color: #000000\"> GearScene<\/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: #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>backgroundColor<span style=\"color: #000000\"> = [<\/span><span style=\"color: #78492a\">SKColor<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">yellowColor<\/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><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">physicsBody<\/span><span style=\"color: #000000\"> = [<\/span><span style=\"color: #703daa\">SKPhysicsBody<\/span><span style=\"color: #000000\"> <\/span>bodyWithEdgeLoopFromRect<span style=\"color: #000000\">:<\/span>CGRectMake<span style=\"color: #000000\">(-<\/span><span style=\"color: #272ad8\">300<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\">, <\/span>CGRectGetMaxX<span style=\"color: #000000\">(<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">frame<\/span><span style=\"color: #000000\">) + <\/span><span style=\"color: #272ad8\">600<\/span><span style=\"color: #000000\">, <\/span>CGRectGetMaxY<span style=\"color: #000000\">(<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #703daa\">frame<\/span><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>createVerticalGear<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>createHorizontalGear<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>)createVerticalGear<\/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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>NSMutableArray<span style=\"color: #000000\"> *bodies = [<\/span>NSMutableArray<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">array<\/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\">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>darkGrayColor<span style=\"color: #000000\">] <\/span>size<span style=\"color: #000000\">:<\/span>CGSizeMake<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">20<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">300<\/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\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;vBar&#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>bar.<\/span><span style=\"color: #703daa\">position<\/span><span style=\"color: #000000\"> = <\/span>CGPointMake<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">76.5<\/span><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: #703daa\">frame<\/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>[<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: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[bodies <\/span>addObject<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SKPhysicsBody<\/span><span style=\"color: #000000\"> <\/span>bodyWithRectangleOfSize<span style=\"color: #000000\">:bar.<\/span><span style=\"color: #703daa\">size<\/span><span style=\"color: #000000\"> <\/span>center<span style=\"color: #000000\">:bar.<\/span><span style=\"color: #703daa\">position<\/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\"><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\">15<\/span>; i++) {<\/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\"> *t = [<\/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>darkGrayColor<span style=\"color: #000000\">] <\/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\">5<\/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>t.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(<span style=\"color: #272ad8\">0<\/span>, i * <span style=\"color: #272ad8\">20<\/span> &#8211; <span style=\"color: #272ad8\">7.5<\/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 \u00a0 \u00a0 <\/span>[bar <span style=\"color: #3d1d81\">addChild<\/span>:t];<\/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>[bodies <\/span>addObject<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SKPhysicsBody<\/span><span style=\"color: #000000\"> <\/span>bodyWithRectangleOfSize<span style=\"color: #000000\">:t.<\/span><span style=\"color: #703daa\">size<\/span><span style=\"color: #000000\"> <\/span>center<span style=\"color: #000000\">:t.<\/span><span style=\"color: #703daa\">position<\/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\"><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>bar.<\/span>physicsBody<span style=\"color: #000000\"> = [<\/span>SKPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyWithBodies<\/span><span style=\"color: #000000\">:bodies];<\/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>categoryBitMask<span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">0x1<\/span><span style=\"color: #000000\"> &lt;&lt; <\/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>bar.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>collisionBitMask<span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">0x1<\/span><span style=\"color: #000000\"> &lt;&lt; <\/span><span style=\"color: #272ad8\">1<\/span><span style=\"color: #000000\"> | <\/span><span style=\"color: #272ad8\">0x1<\/span><span style=\"color: #000000\"> &lt;&lt; <\/span><span style=\"color: #272ad8\">5<\/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>bar.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>linearDamping<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<\/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>SKPhysicsJointSliding<span style=\"color: #000000\"> *sl = [<\/span>SKPhysicsJointSliding<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\">:<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">anchor<\/span><span style=\"color: #000000\">:bar.<\/span>position<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">axis<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #3d1d81\">CGVectorMake<\/span><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><\/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>sl.<\/span>shouldEnableLimits<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; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>sl.<\/span>upperDistanceLimit<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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>sl.<\/span>lowerDistanceLimit<span style=\"color: #000000\"> = &#8211;<\/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\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>[<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">physicsWorld<\/span> <span style=\"color: #3d1d81\">addJoint<\/span>:sl];<\/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>SKNode<span style=\"color: #000000\"> *gear = [<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #31595d\">createGear<\/span><span style=\"color: #000000\">:bar.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>categoryBitMask<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>gear.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(<span style=\"color: #272ad8\">40<\/span>, <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 <\/span>gear.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;gearV&#8221;<\/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>SKPhysicsJointPin<span style=\"color: #000000\"> *pin = [<\/span>SKPhysicsJointPin<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">jointWithBodyA<\/span><span style=\"color: #000000\">:gear.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyB<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">anchor<\/span><span style=\"color: #000000\">:gear.<\/span>position<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>pin.<\/span>frictionTorque<span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">0.8<\/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: #703daa\">physicsWorld<\/span> <span style=\"color: #3d1d81\">addJoint<\/span>:pin];<\/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>)createHorizontalGear<\/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> *vBar = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;vBar&#8221;<\/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>NSMutableArray<span style=\"color: #000000\"> *bodies = [<\/span>NSMutableArray<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">array<\/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\">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>darkGrayColor<span style=\"color: #000000\">] <\/span>size<span style=\"color: #000000\">:<\/span>CGSizeMake<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">300<\/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>bar.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;hBar&#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>bar.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(<span style=\"color: #272ad8\">0<\/span>, <span style=\"color: #3d1d81\">CGRectGetMaxY<\/span>(vBar.<span style=\"color: #703daa\">frame<\/span>) &#8211; <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: #3d1d81\">addChild<\/span>:bar];<\/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>[bodies <\/span>addObject<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SKPhysicsBody<\/span><span style=\"color: #000000\"> <\/span>bodyWithRectangleOfSize<span style=\"color: #000000\">:bar.<\/span><span style=\"color: #703daa\">size<\/span><span style=\"color: #000000\"> <\/span>center<span style=\"color: #000000\">:bar.<\/span><span style=\"color: #703daa\">position<\/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\"><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\">15<\/span>; i++) {<\/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\"> *t = [<\/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>darkGrayColor<span style=\"color: #000000\">] <\/span>size<span style=\"color: #000000\">:<\/span>CGSizeMake<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">5<\/span><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\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>t.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(i * <span style=\"color: #272ad8\">20<\/span> &#8211; <span style=\"color: #272ad8\">7.5<\/span> * <span style=\"color: #272ad8\">20<\/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 \u00a0 \u00a0 <\/span>[bar <span style=\"color: #3d1d81\">addChild<\/span>:t];<\/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>[bodies <\/span>addObject<span style=\"color: #000000\">:[<\/span><span style=\"color: #703daa\">SKPhysicsBody<\/span><span style=\"color: #000000\"> <\/span>bodyWithRectangleOfSize<span style=\"color: #000000\">:t.<\/span><span style=\"color: #703daa\">size<\/span><span style=\"color: #000000\"> <\/span>center<span style=\"color: #000000\">:t.<\/span><span style=\"color: #703daa\">position<\/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\"><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>bar.<\/span>physicsBody<span style=\"color: #000000\"> = [<\/span>SKPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyWithBodies<\/span><span style=\"color: #000000\">:bodies];<\/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>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; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>bar.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>categoryBitMask<span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">0x1<\/span><span style=\"color: #000000\"> &lt;&lt; <\/span><span style=\"color: #272ad8\">2<\/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>bar.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>collisionBitMask<span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">0x1<\/span><span style=\"color: #000000\"> &lt;&lt; <\/span><span style=\"color: #272ad8\">2<\/span><span style=\"color: #000000\"> | <\/span><span style=\"color: #272ad8\">0x1<\/span><span style=\"color: #000000\"> &lt;&lt; <\/span><span style=\"color: #272ad8\">5<\/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>bar.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>allowsRotation<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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>bar.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>linearDamping<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<\/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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>SKNode<span style=\"color: #000000\"> *gear = [<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #31595d\">createGear<\/span><span style=\"color: #000000\">:bar.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>categoryBitMask<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>gear.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(<span style=\"color: #272ad8\">40<\/span>, <span style=\"color: #3d1d81\">CGRectGetMaxY<\/span>(vBar.<span style=\"color: #703daa\">frame<\/span>) + <span style=\"color: #272ad8\">135<\/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>gear.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">@&#8221;gearH&#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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>SKPhysicsJointPin<span style=\"color: #000000\"> *pin = [<\/span>SKPhysicsJointPin<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">jointWithBodyA<\/span><span style=\"color: #000000\">:gear.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyB<\/span><span style=\"color: #000000\">:<\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">anchor<\/span><span style=\"color: #000000\">:gear.<\/span>position<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>pin.<\/span>frictionTorque<span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">0.8<\/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: #703daa\">physicsWorld<\/span> <span style=\"color: #3d1d81\">addJoint<\/span>:pin];<\/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: #703daa\">SKNode<\/span> *)createGear:(<span style=\"color: #703daa\">uint32_t<\/span>)mask<\/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> *gear = [<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>[<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #3d1d81\">addChild<\/span>:gear];<\/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>gear.<\/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\">15<\/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\"><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\">4<\/span>; i++) {<\/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\"> *t = [<\/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>darkGrayColor<span style=\"color: #000000\">] <\/span>size<span style=\"color: #000000\">:<\/span>CGSizeMake<span style=\"color: #000000\">(<\/span><span style=\"color: #272ad8\">48<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #272ad8\">5<\/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>t.<span style=\"color: #703daa\">position<\/span> = gear.<span style=\"color: #703daa\">position<\/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>t.<span style=\"color: #703daa\">zRotation<\/span> = i * <span style=\"color: #78492a\">M_PI<\/span> \/ <span style=\"color: #272ad8\">4.0<\/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>t.<\/span>physicsBody<span style=\"color: #000000\"> = [<\/span>SKPhysicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyWithRectangleOfSize<\/span><span style=\"color: #000000\">:t.<\/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>t.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>categoryBitMask<span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">0x1<\/span><span style=\"color: #000000\"> &lt;&lt; <\/span><span style=\"color: #272ad8\">5<\/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>t.<\/span>physicsBody<span style=\"color: #000000\">.<\/span>collisionBitMask<span style=\"color: #000000\"> = mask;<\/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>:t];<\/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>SKPhysicsJointFixed<span style=\"color: #000000\"> *f = [<\/span>SKPhysicsJointFixed<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">jointWithBodyA<\/span><span style=\"color: #000000\">:gear.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">bodyB<\/span><span style=\"color: #000000\">:t.<\/span>physicsBody<span style=\"color: #000000\"> <\/span><span style=\"color: #3d1d81\">anchor<\/span><span style=\"color: #000000\">:t.<\/span>position<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>:f];<\/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\">UIBezierPath<\/span><span style=\"color: #000000\"> *path = [<\/span><span style=\"color: #703daa\">UIBezierPath<\/span><span style=\"color: #000000\"> <\/span>bezierPathWithArcCenter<span style=\"color: #000000\">:<\/span><span style=\"color: #703daa\">CGPointZero<\/span><span style=\"color: #000000\"> <\/span>radius<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">15<\/span><span style=\"color: #000000\"> <\/span>startAngle<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">0<\/span><span style=\"color: #000000\"> <\/span>endAngle<span style=\"color: #000000\">:<\/span><span style=\"color: #272ad8\">2.0<\/span><span style=\"color: #000000\">*<\/span><span style=\"color: #78492a\">M_PI<\/span><span style=\"color: #000000\"> <\/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: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span>SKShapeNode<span style=\"color: #000000\"> *circle = [<\/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 <\/span>circle.<span style=\"color: #703daa\">fillColor<\/span> = [<span style=\"color: #78492a\">SKColor<\/span> <span style=\"color: #3d1d81\">lightGrayColor<\/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>circle.<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>circle.<span style=\"color: #703daa\">strokeColor<\/span> = [<span style=\"color: #78492a\">SKColor<\/span> <span style=\"color: #3d1d81\">darkGrayColor<\/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>circle.<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 <\/span>[gear <span style=\"color: #3d1d81\">addChild<\/span>:circle];<\/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\">return<\/span> gear;<\/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>)update:(<span style=\"color: #703daa\">NSTimeInterval<\/span>)currentTime<\/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> *barV = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;vBar&#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: #703daa\">SKNode<\/span> *barH = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;hBar&#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>barH.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #3d1d81\">CGPointMake<\/span>(barH.<span style=\"color: #703daa\">position<\/span>.<span style=\"color: #703daa\">x<\/span>, <span style=\"color: #3d1d81\">CGRectGetMaxY<\/span>(barV.<span style=\"color: #703daa\">frame<\/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: #bb2ca2\">if<\/span> (<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">moveV<\/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\">SKNode<\/span> *gearV = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;gearV&#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>[gearV.<span style=\"color: #703daa\">physicsBody<\/span> <span style=\"color: #3d1d81\">applyTorque<\/span>:<span style=\"color: #272ad8\">2.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\">else<\/span> <span style=\"color: #bb2ca2\">if<\/span> (<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">moveH<\/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\">SKNode<\/span> *gearH = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;gearH&#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>[gearH.<span style=\"color: #703daa\">physicsBody<\/span> <span style=\"color: #3d1d81\">applyTorque<\/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>}<\/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\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #703daa\">SKNode<\/span> *gearV = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;gearV&#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: #703daa\">SKNode<\/span> *gearH = [<span style=\"color: #bb2ca2\">self<\/span> <span style=\"color: #3d1d81\">childNodeWithName<\/span>:<span style=\"color: #d12f1b\">@&#8221;gearH&#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> ([gearV <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: #4f8187\">moveV<\/span> = <span style=\"color: #bb2ca2\">YES<\/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> <span style=\"color: #bb2ca2\">if<\/span> ([gearH <span style=\"color: #3d1d81\">containsPoint<\/span>:p])<span class=\"Apple-converted-space\">\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 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">moveH<\/span> = <span style=\"color: #bb2ca2\">YES<\/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>)touchesEnded:(<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: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">moveV<\/span> = <span style=\"color: #bb2ca2\">NO<\/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\">moveH<\/span> = <span style=\"color: #bb2ca2\">NO<\/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; 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\">@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; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><\/span><span style=\"color: #703daa\">SKScene<\/span><span style=\"color: #000000\"> *scene = [[<\/span><span style=\"color: #4f8187\">GearScene<\/span><span style=\"color: #000000\"> <\/span>alloc<span style=\"color: #000000\">] <\/span>initWithSize<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\">568<\/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>[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>X\u8ef8Y\u8ef8\u306e\uff12\u3064\u306e\u8ef8\u3092\u30ae\u30a2\u3067\u52d5\u304b\u3059iPhone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3&#8230;<\/p>\n","protected":false},"author":2,"featured_media":2920,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[116,24,119,117],"class_list":["post-2918","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","tag-ios7","tag-iphone","tag-objective-c","tag-spritekit"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/lepetit-prince.net\/ios\/wp-content\/uploads\/e70046ac7f59c2583e92907e015a6d82.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/2918","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=2918"}],"version-history":[{"count":1,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/2918\/revisions"}],"predecessor-version":[{"id":2919,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/2918\/revisions\/2919"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/media\/2920"}],"wp:attachment":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}