代码之家  ›  专栏  ›  技术社区  ›  Tony Immanuvel

LibGdx操作可池化。。。如何检查池的活动大小和其他池参数?

  •  0
  • Tony Immanuvel  · 技术社区  · 3 年前

    我创建了MoveToAction池。。LibGdx操作已经在实现池式接口。。

    每当选择一个项目时,我都会将其稍微向上移动(沿Y轴)

    每当一个项目被取消选择时,我只需将其放回原来的位置。。。

    两次使用MoveToAction(libGdx)时,我都认为在操作结束后,操作对象将自动重置并返回到池中。我只是想检查一下池的状态,每次我获得poolMoveAction.geouregn();但是没有办法做到……我怎么能确定,游泳池管理成功了。。。

    我创建了MoveToAction池。。

    Pool<MoveToAction> poolMoveAction = new Pool<MoveToAction>(6,60) { 
          @Override protected MoveToAction newObject() { 
             return new MoveToAction(); 
         }
     };
    

    无论何时选择项目。。。我把它沿着Y轴升起。。

         MoveToAction move = poolMoveAction.obtain();
         move.setPosition(baseX,baseY+getHeight()*0.1f);
         move.setDuration(0.2f);
         addAction(move);
    

    每当一个项目被取消选择时,我只需将其放回原来的位置。。。

        MoveToAction move = poolMoveAction.obtain(); 
        move.setPosition(baseX,baseY);
        move.setDuration(0.15f);
        addAction(move);
    

    我假设在操作结束后,操作对象将自动重置并返回到池中。我只是想检查一下池的状态,每次我获得poolMoveAction.geouregn();但是没有办法做到……我怎么能确定,游泳池管理成功了。。。

    0 回复  |  直到 3 年前
        1
  •  0
  •   JiÅ™í    3 年前

    您可以通过调用来检查池的大小 pool.getFree() .你可以检查的另一件事是 pool.peak ,是包含池的最大大小的变量。

    的源代码 Pool 类在官方libGDX Github上提供: https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/utils/Pool.java