如何改进才能实现每次放两个不同的图片?现在是两个相同的。

TheRedDevils 2017-12-27 03:22:41
void ThirdGuanScene::initMap()
{
int x = 1;
int y = 0;
for (int i = 1; i < xCount - 1; i++) {
for (int j = 1; j < yCount - 1; j++) {
mMap[i][j] = x;
if (y == 1) {
x++;
y = 0;
/* if (x == iconCount) {
x = 1;
}*/
}
else {
y = 1;
}
}
}
drawMap();
}

void ThirdGuanScene::drawMap()
{
log("==================================");
for (int x = 0; x < xCount; x++) {
for (int y = 0; y < yCount; y++) {
if (mMap[x][y] > 0) {
char iconName[36] = { 0 };
sprintf(iconName, "1-%d.png", mMap[x][y]);
log("%s ,", iconName);
log("%d ,", mMap[x][y]);
auto position = indextoScreen(x, y);
icon = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(iconName));
icon->setPosition(position);
int tag = (yCount - 2) * (x - 1) + y;
log("tag = %d", tag);
addChild(icon, 100, tag);
}
}
}
}
...全文
463 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
生命练习生123 2018-02-06
  • 打赏
  • 举报
回复
你的sprintf(iconName, "1-%d.png", mMap[x][y]); 中显示的是你的图片是1,2, 3,30命名的吗,不是01,02,03,30命名的是吧,如果是两位就需要占位符
zhujiechang 2018-01-31
  • 打赏
  • 举报
回复
代码逻辑错了吧,cocos2dx图片一般会合成大图用plist加载,效率会好。
cjws555 2018-01-08
  • 打赏
  • 举报
回复
hello你好啊666
TheRedDevils 2017-12-27
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28338727 的回复:
你的iconName值每次都一样吗
iconname是固定的36个图片。按数字大小排列下来的。
TheRedDevils 2017-12-27
  • 打赏
  • 举报
回复
iconname是固定的36个图片。按数字大小排列下来的。
Martin.Y 2017-12-27
  • 打赏
  • 举报
回复
你的iconName值每次都一样吗

721

社区成员

发帖
与我相关
我的任务
社区描述
Cocos2d-x相关内容讨论专区
社区管理员
  • Cocos2d-x
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧