您的位置:首页 > 其它

ccmenu里的位置

2013-11-18 09:56 369 查看
ccmenu里的位置

ccctableviewcell内的元素不需要设置高度

调整buyitem内的元素的位置,可以通过一个item来调整。

ccctableview、ccctableviewcell的锚点在0,0点

cellItem是需要设置元素的x坐标值,和元素间的位置关系

cclayer的锚点是(0.5,0.5),但是它的坐标原点在屏幕的中心点。

假如在cclayer里有一个ccmenu,那么ccmenu的坐标原点在cclayer的坐标原点。有一个ccmenuitem的锚点是(0.5,0.5),位置是(0,0)。那么这个ccmenuitem处于屏幕的中心。

改变CCMenu的锚点无效,改变CCMenuItem的锚点有效,改变CCMenuItem内部元素的锚点无效.

CCMenu没有使用锚点进行坐标定位,而是使用坐标原点。也就是说,CCMenu的坐标原点放到了其父节点的坐标原点.

CCMenuItem里面的元素的锚点默认在(0,0)处,且元素不可通过setAnchorPoint()改变锚点的位置。假如我们要是实现制作一个中心放大的按钮,那该如何是好呢?虽然锚点位置不可改变,可是setPosition()还是有效的。核心代码如下:

//制作一个中心放大的按钮

CCSprite *unselectedSprite= CCSprite::create("Icon.png");

CCSprite *selectedSprite =CCSprite::create("Icon-72.png");

//selectedSprite->setAnchorPoint(ccp(0, 1));//无效

selectedSprite->setPosition(ccp((unselectedSprite->getTextureRect().size.width-selectedSprite->getTextureRect().size.width)/2,(unselectedSprite->getTextureRect().size.height-selectedSprite->getTextureRect().size.height)/2));

CCMenuItem *item =CCMenuItemSprite::create(unselectedSprite, selectedSprite);

CCMenu *menu =CCMenu::create(item,NULL);

addChild(menu);

参考文章:/article/5599978.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: