PanGesture in Sprite Kit
Create sword like sign on display.
Drag and drop is recognized using UIPanGestureRecognizer
Sample
PanGestureScene.h
#import <SpriteKit/SpriteKit.h> @interface PanGestureScene : SKScene @end
PanGestureScene.m
#import "PanGestureScene.h" #import "LineNode.h" @interface PanGestureScene() @property (nonatomic)CGPoint start; @property (nonatomic)CGPoint end; @end @implementation PanGestureScene - (id)initWithSize:(CGSize)size { if (self = [super initWithSize:size]) { } return self; } - (void)didMoveToView:(SKView *)view { UIPanGestureRecognizer *gestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanFrom:)]; [[self view] addGestureRecognizer:gestureRecognizer]; } - (void)handlePanFrom:(UIPanGestureRecognizer *)recognizer { if (recognizer.state == UIGestureRecognizerStateBegan) { self.start = [recognizer locationInView:recognizer.view]; self.start = [self convertPointFromView:self.start]; // Remove [[self childNodeWithName:@"samurai"] removeFromParent]; } else if (recognizer.state == UIGestureRecognizerStateChanged) { //NSLog(@"Change"); } else if (recognizer.state == UIGestureRecognizerStateEnded) { self.end = [recognizer locationInView:recognizer.view]; self.end = [self convertPointFromView:self.end]; NSLog(@"start (%f, %f), end(%f, %f)", self.start.x, self.start.y, self.end.x, self.end.y); LineNode *node = [LineNode createLineNode:self.start end:self.end strokeColor:[UIColor cyanColor] lineWidth:3.0]; node.name = @"samurai"; [self addChild:node]; } } @end