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

  • 相关阅读:
    java集合-方法
    Java线程池
    java疯狂讲义第18章类的加载和反射
    java疯狂讲义第16章多线程
    JAVA集合-HashMap的实现原理
    类加载-java new一个对象的过程发生了什么/Java对象创建过程
    JVM-java垃圾回收
    JVM-java内存区域
    JVM-java堆-新生代和老年代
    448. 找到所有数组中消失的数字
  • 原文地址:https://www.cnblogs.com/yssgyw/p/3428806.html
Copyright © 2011-2022 走看看