gpt4 book ai didi

Java自动填充ArrayList,寻找更好的选择

转载 作者:行者123 更新时间:2023-11-29 10:10:59 33 4
gpt4 key购买 nike

我在这里使用这段代码自动将 obj 文件的目录路径填充到一个字符串数组列表中,以便以后在动画中使用,但是这有一个小问题:

private List<String> bunny_WalkCycle = new ArrayList<String>(); 
private int bunny_getWalkFrame = 0;

private void prepare_Bunny_WalkCycle() {

String bunny_walkFrame = "/bunnyAnimation/bunnyFrame0.obj";

while(bunny_WalkCycle.size() != 30) { // 30 obj files to loop through

if(bunny_getWalkFrame != 0) {
bunny_walkFrame =
"/bunnyAnimation/bunnyWalkAnim/bunnyWalkFrame_"+bunny_getWalkFrame+".obj";
}

bunny_WalkCycle.add(bunny_getWalkFrame);

bunny_getWalkFrame++;
}
}

现在的问题是 blender 中的动画命名约定在实际数字之前有零,所以像这样:

bunnyWalkFrame_000001.obj
bunnyWalkFrame_000002.obj
bunnyWalkFrame_000003.obj
...
bunnyWalkFrame_000030.obj

使用我的 prepare_Bunny_WalkCycle 方法,我无法解释零点,所以我会更改名称并删除零点。这对于没有那么多帧可能没问题,但一旦我达到 100 帧,它就会变得痛苦。所以有我的问题:

有什么智能方法可以解决代码中的零,而不必手动重命名每个文件并删除它们?

最佳答案

我认为您可以使用 "String.format" 解决您的问题:

String blenderNumber = String.format("%06d", bunny_getWalkFrame);

解释:

  • 0 -> 放置前导零
  • 6 -> 它们的“宽度”/它们的数量

所以这将是您的新 bunny_walkFrame:

 bunny_walkFrame = "/bunnyAnimation/bunnyWalkAnim/bunnyWalkFrame_" + blenderNumber + ".obj";

关于Java自动填充ArrayList,寻找更好的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34665104/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com