Cocos 图片变灰 倒计时进度条

本文介绍了在Cocos2dx 3.8.1版本中,如何实现精灵(sprite)的变色操作,以及探讨了在ImageView组件上实现图片变灰的底层修改方法,为游戏或应用中的倒计时进度条效果提供解决方案。
摘要由CSDN通过智能技术生成


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); 正常状态
	// 下面的方法行不通
	//ima
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值