et1337

TextureCutoutCircle.mm

Jul 5th, 2011
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. //  TextureCutoutCircle.mm
  3. //  DemoBros
  4. //
  5. //  Created by et1337 on 6/29/11.
  6. //  Copyright 2011 __MyCompanyName__. All rights reserved.
  7. //
  8.  
  9. #import "TextureCutoutCircle.h"
  10. #import "CCNode+Extensions.h"
  11.  
  12. @implementation TextureCutoutCircle
  13.  
  14. -(id) init
  15. {
  16.     if ((self = [super initWithTexture:NULL andVertexCount:CIRCLE_VERTEX_COUNT]))
  17.     {
  18.         self.radius = 1.0f;
  19.     }
  20.     return self;
  21. }
  22.  
  23. -(id) initCircle:(float)r withFile:(NSString*)file
  24. {
  25.     if ((self = [super initWithFile:file andVertexCount:CIRCLE_VERTEX_COUNT]))
  26.     {
  27.         self.radius = r;
  28.     }
  29.     return self;
  30. }
  31.  
  32. -(id) initCircle:(float)r withTexture:(CCTexture2D*)tex
  33. {
  34.     if ((self = [super initWithTexture:tex andVertexCount:CIRCLE_VERTEX_COUNT]))
  35.     {
  36.         self.radius = r;
  37.     }
  38.     return self;
  39. }
  40.  
  41. -(float) radius
  42. {
  43.     return radius;
  44. }
  45.  
  46. -(void) setRadius:(float)r
  47. {
  48.     radius = r;
  49.     for (int i = 0; i < CIRCLE_VERTEX_COUNT; i++)
  50.     {
  51.         float radians = ((float)i / (float)CIRCLE_VERTEX_COUNT) * M_PI * 2.0f;
  52.         points[i] = ccp((1 + cos(radians)) * radius, (1 + sin(radians)) * radius);
  53.     }
  54.     self.contentSize = CGSizeMake(radius * 2.0f, radius * 2.0f);
  55. }
  56.  
  57. @end
Advertisement
Add Comment
Please, Sign In to add comment