com.badlogic.gdx.utils.Array类的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(7.0k)|赞(0)|评价(0)|浏览(135)

本文整理了Java中com.badlogic.gdx.utils.Array类的一些代码示例,展示了Array类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Array类的具体详情如下:
包路径:com.badlogic.gdx.utils.Array
类名称:Array

Array介绍

[英]A resizable, ordered or unordered array of objects. If unordered, this class avoids a memory copy when removing elements (the last element is moved to the removed element's position).
[中]可调整大小、有序或无序的对象数组。如果无序,该类在删除元素时避免内存复制(最后一个元素移动到删除元素的位置)。

代码示例

代码示例来源:origin: libgdx/libgdx

/** @param name the name of the children
 * @return the children with the given name or an empty {@link Array} */
public Array<Element> getChildrenByName (String name) {
  Array<Element> result = new Array<Element>();
  if (children == null) return result;
  for (int i = 0; i < children.size; i++) {
    Element child = children.get(i);
    if (child.name.equals(name)) result.add(child);
  }
  return result;
}

代码示例来源:origin: libgdx/libgdx

public boolean executeRunnables () {
  synchronized (runnables) {
    for (int i = runnables.size - 1; i >= 0; i--)
      executedRunnables.add(runnables.get(i));
    runnables.clear();
  }
  if (executedRunnables.size == 0) return false;
  for (int i = executedRunnables.size - 1; i >= 0; i--)
    executedRunnables.removeIndex(i).run();
  return true;
}

代码示例来源:origin: libgdx/libgdx

@Override
public void removeListener (ControllerListener listener) {
  synchronized(eventQueue) {
    listeners.removeValue(listener, true);
  }
}

代码示例来源:origin: libgdx/libgdx

public void setRegions(Array<TextureRegion> regions){
  unselectedRegions.clear();
  selectedRegions.clear();
  unselectedRegions.addAll(regions);
}

代码示例来源:origin: libgdx/libgdx

/** Cancels all tasks. */
public synchronized void clear () {
  for (int i = 0, n = tasks.size; i < n; i++) {
    Task task = tasks.get(i);
    synchronized (task) {
      task.executeTimeMillis = 0;
      task.timer = null;
    }
  }
  tasks.clear();
}

代码示例来源:origin: libgdx/libgdx

static public Array<String> getViewportNames () {
  Array<String> names = new Array();
  names.add("StretchViewport");
  names.add("FillViewport");
  names.add("FitViewport");
  names.add("ExtendViewport: no max");
  names.add("ExtendViewport: max");
  names.add("ScreenViewport: 1:1");
  names.add("ScreenViewport: 0.75:1");
  names.add("ScalingViewport: none");
  return names;
}

代码示例来源:origin: libgdx/libgdx

protected void velocityChecked (int index, boolean isChecked) {
  ParticleController controller = editor.getEmitter();
  DynamicsInfluencer influencer = (DynamicsInfluencer)controller.findInfluencer(DynamicsInfluencer.class);		
  influencer.velocities.clear();
  velocities.get(index).isActive = isChecked;
  for(VelocityWrapper wrapper : velocities){
    if(wrapper.isActive)
      influencer.velocities.add(wrapper.velocityValue);
  }
  //Restart the effect and reinit the controller
  editor.restart();
}

代码示例来源:origin: libgdx/libgdx

public boolean executeRunnables () {
  synchronized (runnables) {
    for (int i = runnables.size - 1; i >= 0; i--)
      executedRunnables.add(runnables.get(i));
    runnables.clear();
  }
  if (executedRunnables.size == 0) return false;
  do
    executedRunnables.pop().run();
  while (executedRunnables.size > 0);
  return true;
}

代码示例来源:origin: libgdx/libgdx

public void init (int width, int height) {
  binWidth = width;
  binHeight = height;
  usedRectangles.clear();
  freeRectangles.clear();
  Rect n = new Rect();
  n.x = 0;
  n.y = 0;
  n.width = width;
  n.height = height;
  freeRectangles.add(n);
}

代码示例来源:origin: libgdx/libgdx

private void placeRect (Rect node) {
  int numRectanglesToProcess = freeRectangles.size;
  for (int i = 0; i < numRectanglesToProcess; i++) {
    if (splitFreeNode(freeRectangles.get(i), node)) {
      freeRectangles.removeIndex(i);
      --i;
      --numRectanglesToProcess;
    }
  }
  pruneFreeList();
  usedRectangles.add(node);
}

代码示例来源:origin: libgdx/libgdx

protected boolean delegate (float delta) {
    Array<Action> currentActions = target.getActions();
    if (currentActions.size == 1) waitForActions.clear();
    for (int i = waitForActions.size - 1; i >= 0; i--) {
      Action action = waitForActions.get(i);
      int index = currentActions.indexOf(action, true);
      if (index == -1) waitForActions.removeIndex(i);
    }
    if (waitForActions.size > 0) return false;
    return action.act(delta);
  }
}

代码示例来源:origin: libgdx/libgdx

public boolean executeRunnables () {
  synchronized (runnables) {
    for (int i = runnables.size - 1; i >= 0; i--)
      executedRunnables.addAll(runnables.get(i));
    runnables.clear();
  }
  if (executedRunnables.size == 0) return false;
  do
    executedRunnables.pop().run();
  while (executedRunnables.size > 0);
  return true;
}

代码示例来源:origin: libgdx/libgdx

@Override
  public void actionPerformed (ActionEvent e) {
    int index = imageList.getSelectedIndex();
    if (index < 0) return;
    final ParticleEmitter emitter = editor.getEmitter();
    Array<String> imagePaths = emitter.getImagePaths();
    imagePaths.removeIndex(index);
    if (imagePaths.size == 0) imagePaths.add(ParticleEditor.DEFAULT_PARTICLE);
    emitter.getSprites().clear();
    updateImageList(imagePaths);
  }
});

代码示例来源:origin: libgdx/libgdx

private static void extractExtensions () {
  extensions = new Array<String>();
  if (glVersion.isVersionEqualToOrHigher(3, 2)) {
    int numExtensions = GL11.glGetInteger(GL30.GL_NUM_EXTENSIONS);
    for (int i = 0; i < numExtensions; ++i)
      extensions.add(org.lwjgl.opengl.GL30.glGetStringi(GL20.GL_EXTENSIONS, i));
  } else {
    extensions.addAll(org.lwjgl.opengl.GL11.glGetString(GL20.GL_EXTENSIONS).split(" "));
  }
}

代码示例来源:origin: libgdx/libgdx

public Bezier set (final Array<T> points, final int offset, final int length) {
  if (length < 2 || length > 4)
    throw new GdxRuntimeException("Only first, second and third degree Bezier curves are supported.");
  if (tmp == null) tmp = points.get(0).cpy();
  if (tmp2 == null) tmp2 = points.get(0).cpy();
  if (tmp3 == null) tmp3 = points.get(0).cpy();
  this.points.clear();
  this.points.addAll(points, offset, length);
  return this;
}

代码示例来源:origin: libgdx/libgdx

static boolean findExpandedObjects (Array<Node> nodes, Array objects) {
  boolean expanded = false;
  for (int i = 0, n = nodes.size; i < n; i++) {
    Node node = nodes.get(i);
    if (node.expanded && !findExpandedObjects(node.children, objects)) objects.add(node.object);
  }
  return expanded;
}

代码示例来源:origin: libgdx/libgdx

public static void convert (String input, String output, boolean genMipmaps, boolean packETC1, boolean genAlphaAtlas)
  throws Exception {
  Array<String> opts = new Array<String>(String.class);
  opts.add(input);
  opts.add(output);
  if (genMipmaps) opts.add("-mipmaps");
  if (packETC1 && !genAlphaAtlas) opts.add("-etc1");
  if (packETC1 && genAlphaAtlas) opts.add("-etc1a");
  main(opts.toArray());
}

代码示例来源:origin: libgdx/libgdx

@Override
  public void actionPerformed (ActionEvent e) {
    int index = imageList.getSelectedIndex();
    if (index < 0 || index >= imageList.getModel().getSize() - 1) return;
    final ParticleEmitter emitter = editor.getEmitter();
    String imagePath = emitter.getImagePaths().removeIndex(index);
    emitter.getImagePaths().insert(index + 1, imagePath);
    emitter.getSprites().clear();
    updateImageList(emitter.getImagePaths());
    imageList.setSelectedIndex(index + 1);
  }
});

代码示例来源:origin: libgdx/libgdx

/** @return all bodies currently in the simulation */
public void getBodies (Array<Body> bodies) {
  bodies.clear();
  bodies.ensureCapacity(this.bodies.size);
  for (Iterator<Body> iter = this.bodies.values(); iter.hasNext();) {
    bodies.add(iter.next());
  }
}

代码示例来源:origin: libgdx/libgdx

private void swap(TextureRegion region, Array<TextureRegion> src, Array<TextureRegion> dst)
{
  int index = src.indexOf(region, true);
  if(index > -1){
    src.removeIndex(index);
    dst.add(region);
    repaint();
  }
}

相关文章