cocos2d-iphone  1.0.1
Improved Cocos2D API Reference (iOS version) for Kobold2D developers
CCRibbon Interface Reference

#include <CCRibbon.h>

+ Inheritance diagram for CCRibbon:
+ Collaboration diagram for CCRibbon:

List of all members.

Public Member Functions

id initWithWidth:image:length:color:fade: (float w,[image] NSString *path,[length] float l,[color] ccColor4B color,[fade] float fade)
void addPointAt:width: (CGPoint location,[width] float w)
void update: (ccTime delta)
float sideOfLine:l1:l2: (CGPoint p,[l1] CGPoint l1,[l2] CGPoint l2)

Static Public Member Functions

id ribbonWithWidth:image:length:color:fade: (float w,[image] NSString *path,[length] float l,[color] ccColor4B color,[fade] float fade)

Protected Attributes

NSMutableArray * segments_
NSMutableArray * deletedSegments_
CGPoint lastPoint1_
CGPoint lastPoint2_
CGPoint lastLocation_
int vertCount_
float texVPos_
float curTime_
float fadeTime_
float delta_
float lastWidth_
float lastSign_
BOOL pastFirstPoint_
CCTexture2Dtexture_
float textureLength_
ccColor4B color_
ccBlendFunc blendFunc_

Properties

CCTexture2Dtexture
float textureLength
ccBlendFunc blendFunc
ccColor4B color

Detailed Description

A CCRibbon is a dynamically generated list of polygons drawn as a single or series of triangle strips. The primary use of CCRibbon is as the drawing class of Motion Streak, but it is quite useful on it's own. When manually drawing a ribbon, you can call addPointAt and pass in the parameters for the next location in the ribbon. The system will automatically generate new polygons, texture them accourding to your texture width, etc, etc.

CCRibbon data is stored in a CCRibbonSegment class. This class statically allocates enough verticies and texture coordinates for 50 locations (100 verts or 48 triangles). The ribbon class will allocate new segments when they are needed, and reuse old ones if available. The idea is to avoid constantly allocating new memory and prefer a more static method. However, since there is no way to determine the maximum size of some ribbons (motion streaks), a truely static allocation is not possible.

Since:
v0.8.1

Member Function Documentation

void CCRibbon::addPointAt:width: ( CGPoint  location,
[width] float  w 
) [virtual]

add a point to the ribbon

id CCRibbon::initWithWidth:image:length:color:fade: ( float  w,
[image] NSString *  path,
[length] float  l,
[color] ccColor4B  color,
[fade] float  fade 
) [virtual]

init the ribbon

id CCRibbon::ribbonWithWidth:image:length:color:fade: ( float  w,
[image] NSString *  path,
[length] float  l,
[color] ccColor4B  color,
[fade] float  fade 
) [static, virtual]

creates the ribbon

float CCRibbon::sideOfLine:l1:l2: ( CGPoint  p,
[l1] CGPoint  l1,
[l2] CGPoint  l2 
) [virtual]

determine side of line

void CCRibbon::update: ( ccTime  delta) [virtual]

polling function


Property Documentation

ccBlendFunc CCRibbon::blendFunc [read, write, assign]

GL blendind function

ccColor4B CCRibbon::color [read, write, assign]

color used by the Ribbon (RGBA)

CCTexture2D* CCRibbon::texture [read, write, retain]

Texture used by the ribbon. Conforms to CCTextureProtocol protocol

float CCRibbon::textureLength [read, write, assign]

Texture lengths in pixels


The documentation for this interface was generated from the following file: