本文整理汇总了Java中com.badlogic.gdx.tools.texturepacker.TexturePacker.Page类的典型用法代码示例。如果您正苦于以下问题:Java Page类的具体用法?Java Page怎么用?Java Page使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Page类属于com.badlogic.gdx.tools.texturepacker.TexturePacker包,在下文中一共展示了Page类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: pack
import com.badlogic.gdx.tools.texturepacker.TexturePacker.Page; //导入依赖的package包/类
public Array<Page> pack (Array<Rect> inputRects) {
for (int i = 0, nn = inputRects.size; i < nn; i++) {
Rect rect = inputRects.get(i);
rect.width += settings.paddingX;
rect.height += settings.paddingY;
}
if (settings.fast) {
if (settings.rotation) {
// Sort by longest side if rotation is enabled.
sort.sort(inputRects, new Comparator<Rect>() {
public int compare (Rect o1, Rect o2) {
int n1 = o1.width > o1.height ? o1.width : o1.height;
int n2 = o2.width > o2.height ? o2.width : o2.height;
return n2 - n1;
}
});
} else {
// Sort only by width (largest to smallest) if rotation is disabled.
sort.sort(inputRects, new Comparator<Rect>() {
示例2: packAtSize
import com.badlogic.gdx.tools.texturepacker.TexturePacker.Page; //导入依赖的package包/类
/** @param fully If true, the only results that pack all rects will be considered. If false, all results are considered, not
* all rects may be packed. */
private Page packAtSize (boolean fully, int width, int height, Array<Rect> inputRects) {
Page bestResult = null;
for (int i = 0, n = methods.length; i < n; i++) {
maxRects.init(width, height);
Page result;
if (!settings.fast) {
result = maxRects.pack(inputRects, methods[i]);
} else {
Array<Rect> remaining = new Array();
for (int ii = 0, nn = inputRects.size; ii < nn; ii++) {
Rect rect = inputRects.get(ii);
if (maxRects.insert(rect, methods[i]) == null) {
while (ii < nn)
remaining.add(inputRects.get(ii++));
}
}
result = maxRects.getResult();
result.remainingRects = remaining;
}
if (fully && result.remainingRects.size > 0) continue;
if (result.outputRects.size == 0) continue;
bestResult = getBest(bestResult, result);
}
return bestResult;
}
示例3: pack
import com.badlogic.gdx.tools.texturepacker.TexturePacker.Page; //导入依赖的package包/类
public Array<Page> pack (Array<Rect> inputRects) {
if (!settings.silent) System.out.print("Packing");
int cellWidth = 0, cellHeight = 0;
for (int i = 0, nn = inputRects.size; i < nn; i++) {
Rect rect = inputRects.get(i);
cellWidth = Math.max(cellWidth, rect.width);
cellHeight = Math.max(cellHeight, rect.height);
}
cellWidth += settings.paddingX;
cellHeight += settings.paddingY;
inputRects.reverse();
Array<Page> pages = new Array();
while (inputRects.size > 0) {
Page result = packPage(inputRects, cellWidth, cellHeight);
pages.add(result);
}
return pages;
}
示例4: packAtSize
import com.badlogic.gdx.tools.texturepacker.TexturePacker.Page; //导入依赖的package包/类
/** @param fully If true, the only results that pack all rects will be considered. If false, all results are considered, not all
* rects may be packed. */
private Page packAtSize (boolean fully, int width, int height, Array<Rect> inputRects) {
Page bestResult = null;
for (int i = 0, n = methods.length; i < n; i++) {
maxRects.init(width, height);
Page result;
if (!settings.fast) {
result = maxRects.pack(inputRects, methods[i]);
} else {
Array<Rect> remaining = new Array();
for (int ii = 0, nn = inputRects.size; ii < nn; ii++) {
Rect rect = inputRects.get(ii);
if (maxRects.insert(rect, methods[i]) == null) {
while (ii < nn)
remaining.add(inputRects.get(ii++));
}
}
result = maxRects.getResult();
result.remainingRects = remaining;
}
if (fully && result.remainingRects.size > 0) continue;
if (result.outputRects.size == 0) continue;
bestResult = getBest(bestResult, result);
}
return bestResult;
}
示例5: pack
import com.badlogic.gdx.tools.texturepacker.TexturePacker.Page; //导入依赖的package包/类
public Array<Page> pack (Array<Rect> inputRects) {
System.out.print("Packing");
int cellWidth = 0, cellHeight = 0;
for (int i = 0, nn = inputRects.size; i < nn; i++) {
Rect rect = inputRects.get(i);
cellWidth = Math.max(cellWidth, rect.width);
cellHeight = Math.max(cellHeight, rect.height);
}
cellWidth += settings.paddingX;
cellHeight += settings.paddingY;
inputRects.reverse();
Array<Page> pages = new Array();
while (inputRects.size > 0) {
Page result = packPage(inputRects, cellWidth, cellHeight);
pages.add(result);
}
return pages;
}
示例6: getResult
import com.badlogic.gdx.tools.texturepacker.TexturePacker.Page; //导入依赖的package包/类
public Page getResult () {
int w = 0, h = 0;
for (int i = 0; i < usedRectangles.size; i++) {
Rect rect = usedRectangles.get(i);
w = Math.max(w, rect.x + rect.width);
h = Math.max(h, rect.y + rect.height);
}
Page result = new Page();
result.outputRects = new Array(usedRectangles);
result.occupancy = getOccupancy();
result.width = w;
result.height = h;
return result;
}
示例7: getBest
import com.badlogic.gdx.tools.texturepacker.TexturePacker.Page; //导入依赖的package包/类
private Page getBest (Page result1, Page result2) {
if (result1 == null) return result2;
if (result2 == null) return result1;
return result1.occupancy > result2.occupancy ? result1 : result2;
}