加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos 图片变灰 倒计时进度条

发布时间:2020-12-14 16:45:56 所属栏目:百科 来源:网络整理
导读:cocos2dx 3.8.1版本中 sprite可以实现变色操作 ImageView的只能通过修改底层来变色 GLProgram *program1 = GLProgramCache::getInstance()-getGLProgram(GLProgram::SHADER_NAME_POSITION_GRAYSCALE);GLProgram *program2 = GLProgramCache::getInstance()-g


cocos2dx 3.8.1版本中

sprite可以实现变色操作

ImageView的只能通过修改底层来变色

GLProgram *program1 = GLProgramCache::getInstance()->getGLProgram(GLProgram::SHADER_NAME_POSITION_GRAYSCALE);
	GLProgram *program2 = GLProgramCache::getInstance()->getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP);
	
	Sprite* sp = Sprite::create("res/score_bg.png");
	// 下面两种方法 其实是一样的
	sp->setGLProgram(program1);
	//sp->setGLProgramState(GLProgramState::getOrCreateWithGLProgramName(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP));
	sp->setPosition(240,200);
	addChild(sp);
	
	ImageView* image = ImageView::create();
	image->setPosition(ccp(240,400));
	image->loadTexture("res/score_bg.png");
	Scale9Sprite*sp9 = (Scale9Sprite*)image->getVirtualRenderer();
	sp9->setState(Scale9Sprite::State::GRAY);
	//sp9->setState(Scale9Sprite::State::NORMAL); 正常状态
	// 下面的方法行不通
	//image->setGLProgramState(GLProgramState::getOrCreateWithGLProgramName(GLProgram::SHADER_NAME_POSITION_GRAYSCALE));
	addChild(image);
	


	auto sprite = Sprite::create("res/score_bg.png");
	progress = ProgressTimer::create(sprite);
	progress->setPercentage(0);
	progress->setType(ProgressTimer::Type::RADIAL);
	//progress->setReverseDirection(true); 逆时针
	image->addChild(progress);


??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读