微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cocos 图片变灰 倒计时进度条


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);




原文地址:https://www.jb51.cc/cocos2dx/340694.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐