cocos2d-x 節點操做 -->J2ME

  cocos2d-x 的節點操做涉及到如下幾點css

         1.  節點之間的關係html

         2.  節點的添加操做node

         3.  節點的刪除操做算法

         4.  節點的查找操做spa

         5.  節點的替換操做code

         6.  節點屬性操做htm

0.  節點操做相關參數blog

    /** 當前節點的Z軸順序 **/
    private int m_nZOrder = 0;
    /** 當前節點的子節點 **/
    private Vector m_vChildren = new Vector();
    /** 當前節點的父節點 **/
    private CCNode m_Parent;

1.  節點之間的關係排序

                              image

2.  節點的添加操做ip

    /**
      * 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

相關文章
相關標籤/搜索