cocos2d for iPhone 1.0.0
2D engine for iOS and OS X
/Users/rquesada/progs/cocos2d-iphone/cocos2d/CCRibbon.h
00001 /*
00002  * cocos2d for iPhone: http://www.cocos2d-iphone.org
00003  *
00004  * Copyright (c) 2008, 2009 Jason Booth
00005  * 
00006  * Permission is hereby granted, free of charge, to any person obtaining a copy
00007  * of this software and associated documentation files (the "Software"), to deal
00008  * in the Software without restriction, including without limitation the rights
00009  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00010  * copies of the Software, and to permit persons to whom the Software is
00011  * furnished to do so, subject to the following conditions:
00012  * 
00013  * The above copyright notice and this permission notice shall be included in
00014  * all copies or substantial portions of the Software.
00015  * 
00016  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00017  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00018  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00019  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00020  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00021  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00022  * THE SOFTWARE.
00023  *
00024  */
00025 
00026 
00027 #import "CCNode.h"
00028 #import "CCTexture2D.h"
00029 #import "CCProtocols.h"
00030 #import "Platforms/CCGL.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         // Texture used
00065         CCTexture2D*            texture_;
00066 
00067         // texture length
00068         float                   textureLength_;
00069 
00070         // RGBA protocol
00071         ccColor4B color_;
00072 
00073         // blend func
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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Defines

cocos2d for iPhone API Reference - Generated using Doxygen 1.7.4