zoukankan      html  css  js  c++  java
  • cocos2d-x 节点操作 -->J2ME

      cocos2d-x 的节点操作涉及到以下几点

             1.  节点之间的关系

             2.  节点的添加操作

             3.  节点的删除操作

             4.  节点的查找操作

             5.  节点的替换操作

             6.  节点属性操作

    0.  节点操作相关参数

        /** 当前节点的Z轴顺序 **/
        private int m_nZOrder = 0;
        /** 当前节点的子节点 **/
        private Vector m_vChildren = new Vector();
        /** 当前节点的父节点 **/
        private CCNode m_Parent;

    1.  节点之间的关系

                                  image

    2.  节点的添加操作

        /**
          * addChild(给当前节点添加子节点)
          * @Title: addChild
          * @Description: 
          *    1. 如果节点为null或者已经有父节点的话则退出
          *    2. 节点的插入采用插入排序的算法
          * @param  _node   : 子节点
          * @param  _zOrder : z轴序列
          * @param  tag     : 标识符
          * @return void    返回类型
         */
        public void addChild(CCNode _node,int _zOrder,int tag)
      public void addChild(CCNode _node,int _zOrder)
      public void addChild(CCNode _node)
    在添加节点的时候,为了保证添加的zOrder序列都在对应的位置,我们在每次添加节点的时候,都进行一次排序
          /**
          * sortChildrens(排序所有节点)
          * @Title: sortChildrens
          * @Description: TODO
         */
        public void insertSortChildrens(CCNode node)
        {
            int len = m_vChildren.size();
            if(len == 0)
            {
                m_vChildren.addElement(node);
                return;
            }
    
            //倒插排序法
            for(int i = len-1;i >= 0;i--)
            {
                if(node.getZOrder() >= ((CCNode)m_vChildren.elementAt(i)).getZOrder())
                {
                    m_vChildren.insertElementAt(node, i+1);
                    return;
                }
            }
        }

    3.  节点的删除操作

         *  public void removeChild(CCNode node,boolean cleanup)
         *  public void removeChild(CCNode node)
         *  public void removeFromParentAndCleanup(boolean cleanup)
         *  public void removeFromParent()
         *  public void removeAllChildrenWithCleanup(boolean cleanup)
         *  public void removeChildByTag(int tag,boolean cleanup)

    4.  节点的查找操作

         *  public CCNode getChildByTag(int tag)
         *  public CCNode getChildIndex(int index)

    5.  节点的替换操作

        /**
         * 
          * reorderChild(重新排序当前节点的Z轴序列)
          * @Title: reorderChild
          * @Description: TODO
          * @param  node      : 当前节点
          * @param  zOrder    : Z轴序列
          * @return void    返回类型
         */
        public void reorderChild(CCNode node,int zOrder)

    6.  节点属性操作

         *  public Vector getChildren() 
         *  public int getChildrenCount()

    7

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    学习HTML<audio>标签
    APICloud修改最低操作系统版本要求
    用R语言代写实现神经网络预测股票实例
    【大数据部落】R语言代写电信公司churn数据客户流失 k近邻(knn)模型预测分析
    R语言代写特征选择——逐步回归模型分析案例
    R语言代写生存分析可视化分析
    【大数据部落】R语言代写highfrequency高频金融数据导入
    matlab代写脉冲响应图的时域特征
    R语言代写时间序列分析复杂的季节模式
    python代写在Scikit-learn中用决策树和随机森林预测NBA获胜者
  • 原文地址:https://www.cnblogs.com/zhangweia/p/3521380.html
Copyright © 2011-2022 走看看