cocos2d 制作5星评分效果

来源:互联网 发布:最终幻想14捏脸数据 编辑:程序博客网 时间:2024/05/16 16:08

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

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, 0, 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, 0, starImg2->getContentSize().width * percent, starImg2->getContentSize().height));_detailHolder->addChild(starImg2, POSTER_LAYER);}


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

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




0 0
原创粉丝点击