Skip to content

Commit

Permalink
Merge pull request #571 from slembcke/develop
Browse files Browse the repository at this point in the history
Fix for anchor points.
  • Loading branch information
vlidholt committed May 30, 2014
2 parents 6081087 + cee3afe commit c50d4a1
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 8 deletions.
5 changes: 4 additions & 1 deletion SpriteBuilder/ccBuilder/CCNode+NodeInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,14 @@ NSString * kAnimationOfPhysicsWarning;
@property (nonatomic,copy) NSString* displayName;
@property (nonatomic,retain) NSMutableArray* customProperties;
@property (nonatomic,readonly) CGPoint transformStartPosition;
@property (nonatomic,assign) CGAffineTransform startTransform;
@property (nonatomic,readonly) CGAffineTransform startTransform;
@property (nonatomic,readonly) CGPoint startAnchorPoint;
@property (nonatomic,retain) NodePhysicsBody* nodePhysicsBody;
@property (nonatomic,assign) NSUInteger UUID;
@property (nonatomic, readonly) BOOL hasKeyframes;

- (void) cacheStartTransformAndAnchor;

- (id) extraPropForKey:(NSString*)key;
- (void) setExtraProp:(id)prop forKey:(NSString*)key;
- (void)removeExtraPropForKey:(NSString*)key;
Expand Down
15 changes: 11 additions & 4 deletions SpriteBuilder/ccBuilder/CCNode+NodeInfo.m
Original file line number Diff line number Diff line change
Expand Up @@ -905,16 +905,23 @@ - (CGAffineTransform) startTransform;
return info.startTransform;
}

- (void) setStartTransform:(CGAffineTransform)startTransform
- (CGPoint) transformStartPosition
{
NodeInfo* info = self.userObject;
info.startTransform = startTransform;
return CGPointApplyAffineTransform(self.anchorPointInPoints, info.startTransform);
}

- (CGPoint) transformStartPosition
- (CGPoint) startAnchorPoint
{
NodeInfo* info = self.userObject;
return CGPointApplyAffineTransform(self.anchorPointInPoints, info.startTransform);
return info.startAnchorPoint;
}

- (void) cacheStartTransformAndAnchor
{
NodeInfo* info = self.userObject;
info.startTransform = self.nodeToWorldTransform;
info.startAnchorPoint = self.anchorPoint;
}

- (void) setUsesFlashSkew:(BOOL)seqExpanded
Expand Down
6 changes: 3 additions & 3 deletions SpriteBuilder/ccBuilder/CocosScene.m
Original file line number Diff line number Diff line change
Expand Up @@ -1082,7 +1082,7 @@ - (void) mouseDown:(NSEvent *)event

// Transform anchor point
currentMouseTransform = kCCBTransformHandleAnchorPoint;
transformScalingNode.startTransform = transformScalingNode.startTransform;
[transformScalingNode cacheStartTransformAndAnchor];
return;
}
if(th == kCCBTransformHandleRotate && appDelegate.selectedNode != rootNode)
Expand Down Expand Up @@ -1306,7 +1306,7 @@ - (void) mouseDragged:(NSEvent *)event
if(selectedNode.locked)
continue;

selectedNode.startTransform = selectedNode.nodeToWorldTransform;
[selectedNode cacheStartTransformAndAnchor];
}

if (appDelegate.selectedNode != rootNode &&
Expand Down Expand Up @@ -1617,7 +1617,7 @@ - (void) mouseDragged:(NSEvent *)event
CGPoint deltaAnchorPoint = ccp(deltaLocal.x / transformScalingNode.contentSizeInPoints.width, deltaLocal.y / transformScalingNode.contentSizeInPoints.height);

[appDelegate saveUndoStateWillChangeProperty:@"anchorPoint"];
transformScalingNode.anchorPoint = ccpAdd(transformScalingNode.transformStartPosition, deltaAnchorPoint);
transformScalingNode.anchorPoint = ccpAdd(transformScalingNode.startAnchorPoint, deltaAnchorPoint);
[appDelegate refreshProperty:@"anchorPoint"];

[self updateAnchorPointCompensation];
Expand Down
1 change: 1 addition & 0 deletions SpriteBuilder/ccBuilder/NodeInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
@property (nonatomic,copy) NSString* displayName;
@property (nonatomic,strong) NSMutableArray* customProperties;
@property (nonatomic,assign) CGAffineTransform startTransform;
@property (nonatomic,assign) CGPoint startAnchorPoint;

+ (id) nodeInfoWithPlugIn:(PlugInNode*)pin;

Expand Down

0 comments on commit c50d4a1

Please sign in to comment.