zoukankan      html  css  js  c++  java
  • ccmenu里的位置

    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);

    参考文章:http://www.cnblogs.com/binxindoudou/archive/2013/04/26/3045737.html

  • 相关阅读:
    Mysql锁
    开源的13个Spring Boot 优秀学习项目!超53K星,一网打尽!
    大批量数据处理方法
    位运算题目
    限流算法
    linux进程管理之进程创建(三)
    Linux进程管理之状态(二)
    linux进程管理之概念(一)
    #error 、 #line 和 #pragma 的使用
    #undef 的用法
  • 原文地址:https://www.cnblogs.com/yssgyw/p/3428806.html
Copyright © 2011-2022 走看看