KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
ORIGINAL ARTICLE I am in the process of trying to implement raywenderlich's tutorial on generating hills with repeating striped coordinates using cocos2d, This article was written for Cocos2D 1.0, and as I am trying to port it to Cocos2D 2.0 This means updating it for openGl-es 2. So far everything has worked perfectly, However I am having problems with getting the texture of the hill to repeat properly... Here is my code: Sending the hills the texture: CCSprite *stripes = [self stripedSpriteWithColor1:color3 color2:color4 textureSize:512 stripes:nStripes]; stripes.position = ccp(winSize.width/2,winSize.height/2); ccTexParams tp2 = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_CLAMP_TO_EDGE}; [stripes.texture setTexParameters:&tp2]; _terrain.stripes = stripes; _backgroundTerrain.stripes = stripes; Generating texture: -(CCSprite *)stripedSpriteWithColor1:(ccColor4F)c1 color2:(ccColor4F)c2 textureSize:(float)textureSize stripes:(int) nStripes { // 1: Create new CCRenderTexture CCRenderTexture *rt = [CCRenderTexture renderTextureWithWidth:textureSize height:textureSize]; // 2: Call CCRenderTexture:begin [rt beginWithClear:c1.r g:c1.g b:c1.b a:c1.a]; // 3: Draw into texture //OpenGL gradient NSLog(@"Strip color is: %f : %f : %f", c2.r,c2.g,c2.b); CGPoint vertices[nStripes*6]; ccColor4F colors[nStripes*6]; int nVertices = 0; float x1 = -textureSize; float x2; float y1 = textureSize; float y2 = 0; float dx = textureSize / nStripes * 2; float stripeWidth = dx/2; ccColor4F stripColor = (ccColor4F){c2.r,c2.g,c2.b,c2.a}; for (int i=0; i<nStripes; i++) { x2 = x1 + textureSize; colors[nVertices] = stripColor; vertices[nVertices++] = ccpMult(CGPointMake(x1, y1), CC_CON
Tags (comma-separated)
Save Edits
Cancel