Revision: 28987
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 18, 2010 03:19 by bebroll
Initial Code
#pragma mark CCDirector Category for Point Handling
#import "cocos2d.h"
@interface CCDirector (Points)
- (CGSize) ptWinSize;
- (CGPoint) convertToPt:(CGPoint)point;
- (CGPoint) convertToPx:(CGPoint)point;
@end
@implementation CCDirector (Points)
- (CGSize) ptWinSize {
CGSize s = [self winSize];
CGPoint p = [self convertToPt:ccp(s.width, s.height)];
return CGSizeMake(p.x, p.y);
}
- (CGPoint) convertToPt:(CGPoint)point {
return ccpMult(point, 1.0/self.contentScaleFactor);
}
- (CGPoint) convertToPx:(CGPoint)point {
return ccpMult(point, self.contentScaleFactor);
}
@end
#pragma mark CCNode Category for Point Handling
@interface CCNode (Points)
@property (assign) CGPoint ptPosition;
@property (assign) CGSize ptContentSize;
- (CGPoint) ptConvertToNodeSpace:(CGPoint)point;
- (CGPoint) ptConvertToWorldSpace:(CGPoint)point;
@end
@implementation CCNode (Points)
- (void) setPtPosition:(CGPoint)pos {
self.position = [[CCDirector sharedDirector] convertToPx:pos];
}
- (CGPoint) ptPosition {
return [[CCDirector sharedDirector] convertToPt:self.position];
}
- (void) setPtContentSize:(CGSize)size {
CGPoint p = [[CCDirector sharedDirector] convertToPx:ccp(size.width, size.height)];
self.contentSize = CGSizeMake(p.x, p.y);
}
- (CGSize) ptContentSize {
CGPoint p = [[CCDirector sharedDirector] convertToPt:ccp(self.contentSize.width, self.contentSize.height)];
return CGSizeMake(p.x, p.y);
}
- (CGPoint) ptConvertToNodeSpace:(CGPoint)point {
point = [[CCDirector sharedDirector] convertToPx:point];
point = [self convertToNodeSpace:point];
point = [[CCDirector sharedDirector] convertToPt:point];
return point;
}
- (CGPoint) ptConvertToWorldSpace:(CGPoint)point {
point = [[CCDirector sharedDirector] convertToPx:point];
point = [self convertToWorldSpace:point];
point = [[CCDirector sharedDirector] convertToPt:point];
return point;
}
@end
Initial URL
Initial Description
Initial Title
CCDirector / CCNode Category for Working with Points instead of Pixels
Initial Tags
iphone
Initial Language
Objective C