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

cocos2d 制作5星评分效果

发布时间:2020-12-14 19:36:29 所属栏目:百科 来源:网络整理
导读:做的是一个评分的展示,不涉及评分的操作 cocos2dx 3.0+ 效果如下,分别为8.6分,5分和10分 五角星图片原图 代码片段 for (int i = 0; i (int)score / 2; i++){auto starImg = Sprite::create("appstore/applist/star_full.png");starImg-setAnchorPoint(Poi

做的是一个评分的展示,不涉及评分的操作

cocos2dx 3.0+


效果如下,分别为8.6分,5分和10分



五角星图片原图



代码片段

for (int i = 0; i < (int)score / 2; i++)
	{
		auto starImg = Sprite::create("appstore/applist/star_full.png");
		starImg->setAnchorPoint(Point::ANCHOR_TOP_LEFT);
		starImg->setPosition(26 + i * 35,48);
		_detailHolder->addChild(starImg,POSTER_LAYER);
	}
	float percent = score/2 - (int)score/2;
	if ( percent != 0)
	{
		auto starImg = Sprite::create("appstore/applist/star_empty.png");
		starImg->setAnchorPoint(Point::ANCHOR_TOP_LEFT);
		starImg->setPosition(26 + (int)score / 2 * 35 + starImg->getContentSize().width * percent,48);
		starImg->setTextureRect(Rect(starImg->getContentSize().width * percent,starImg->getContentSize().width - starImg->getContentSize().width * percent,starImg->getContentSize().height));
		_detailHolder->addChild(starImg,POSTER_LAYER);

		auto starImg2 = Sprite::create("appstore/applist/star_full.png");
		starImg2->setAnchorPoint(Point::ANCHOR_TOP_LEFT);
		starImg2->setPosition(26 + (int)score / 2 * 35,48);
		starImg2->setTextureRect(Rect(0,starImg2->getContentSize().width * percent,starImg2->getContentSize().height));
		_detailHolder->addChild(starImg2,POSTER_LAYER);
	}


这边主要是用setTextureRect来切割星星的图片,我也是参考别人学习的这个方法,具体可以看如下链接

http://blog.sina.com.cn/s/blog_65be11bd0101o8ou.html

(编辑:李大同)

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

    推荐文章
      热点阅读