00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #import "CCNode.h"
00028 #import "CCTexture2D.h"
00029 #import "CCProtocols.h"
00030 #import <OpenGLES/ES1/gl.h>
00031
00047 @interface CCRibbon : CCNode <CCTextureProtocol>
00048 {
00049 NSMutableArray* segments_;
00050 NSMutableArray* deletedSegments_;
00051
00052 CGPoint lastPoint1_;
00053 CGPoint lastPoint2_;
00054 CGPoint lastLocation_;
00055 int vertCount_;
00056 float texVPos_;
00057 float curTime_;
00058 float fadeTime_;
00059 float delta_;
00060 float lastWidth_;
00061 float lastSign_;
00062 BOOL pastFirstPoint_;
00063
00064
00065 CCTexture2D* texture_;
00066
00067
00068 float textureLength_;
00069
00070
00071 ccColor4B color_;
00072
00073
00074 ccBlendFunc blendFunc_;
00075 }
00076
00078 @property (nonatomic,readwrite,retain) CCTexture2D* texture;
00079
00081 @property (nonatomic,readwrite) float textureLength;
00082
00084 @property (nonatomic,readwrite,assign) ccBlendFunc blendFunc;
00085
00087 @property (nonatomic,readwrite) ccColor4B color;
00088
00090 +(id)ribbonWithWidth:(float)w image:(NSString*)path length:(float)l color:(ccColor4B)color fade:(float)fade;
00092 -(id)initWithWidth:(float)w image:(NSString*)path length:(float)l color:(ccColor4B)color fade:(float)fade;
00094 -(void)addPointAt:(CGPoint)location width:(float)w;
00096 -(void)update:(ccTime)delta;
00098 -(float)sideOfLine:(CGPoint)p l1:(CGPoint)l1 l2:(CGPoint)l2;
00099
00100 @end
00101
00103 @interface CCRibbonSegment : NSObject
00104 {
00105 @public
00106 GLfloat verts[50*6];
00107 GLfloat coords[50*4];
00108 GLubyte colors[50*8];
00109 float creationTime[50];
00110 BOOL finished;
00111 uint end;
00112 uint begin;
00113 }
00114 -(id)init;
00115 -(void)reset;
00116 -(void)draw:(float)curTime fadeTime:(float)fadeTime color:(ccColor4B)color;
00117 @end