代码库> 游戏源码> cocos2dx 水果忍者刀光 opengles 2.0 版
cocos2dx 水果忍者刀光 opengles 2.0 版
关注
上传者:tuyuer 分类:游戏源码(Game Source Code)
查看次数:20539 下载次数:2609
上传时间:2012-12-10 大小:2 KB
285275050 cocos2dx及2d游戏开发群,欢迎加入
论坛里有为大神实现了水果忍者的1.x版的刀光效果,
小弟在此尽心了修改,使其可以运行在cocos2dx-2.x版,
欢迎指正,
请先找到Drawline.cpp文件,论坛里有1.x的刀光,请自己找到下载
此处为1.x版
//    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
//    glDisable(GL_TEXTURE_2D);
//    
//    glVertexPointer(2, GL_FLOAT, 0, vertexTriangle);
//    glEnableClientState(GL_VERTEX_ARRAY);
//    glColorPointer(4, GL_UNSIGNED_BYTE, 0, lineColors);
//    glEnableClientState(GL_COLOR_ARRAY);
//    glDrawArrays(GL_TRIANGLES, 0, (GLint)((vertexCpy-vertexTriangle-1)));
//    
//    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
//    glEnable(GL_TEXTURE_2D);


//以下两行可以放到初始化方法中
       CCGLProgram * glShaderProgram = CCShaderCache::sharedShaderCache()->programForKey(kCCShader_PositionColor);
        this->setShaderProgram(glShaderProgram);
    //以下代码为上面代码的2.0版本
    // Enable the needed vertex attributes.
    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position | kCCVertexAttribFlag_Color );
    // Tell OpenGL ES 2.0 to use the shader program assigned in the init of this node.
    this->getShaderProgram()->use();
    this->getShaderProgram()->setUniformForModelViewProjectionMatrix();
    
  
    ccVertex2F vetexes[512]={0};
    for (int i=0; i<512; i++) {
        vetexes.x=vertexTriangle.x;
        vetexes.y=vertexTriangle.y;
    }
    // Pass the verticies to draw to OpenGL
    glEnableVertexAttribArray(kCCVertexAttribFlag_Position);
    glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_TRUE, 0,vetexes);

    // Pass the colors of the vertices to draw to OpenGL
    glEnableVertexAttribArray(kCCVertexAttribFlag_Color);
    glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, lineColors);

    GLint numberTo=(GLint)((vertexCpy-vertexTriangle-1));
    glDrawArrays(GL_TRIANGLES, 0,numberTo );

我还是上份代码吧,方便大家查看,记得要回复啊,童鞋们!
收藏
我来说两句
发表评论
您还没有登录!请登录注册
所有评论(0
提示