我想知道他们是否有一种方法可以将 2 个以上的 Sprite 数组组合成 1 个 Sprite 数组。例如,我想将这 4 个卡牌数组组合成 1 个数组。 (来自 com.badlogic.gdx.utils.Array 的数组)
public class Diamonds extends CardTypes {
public Array<Sprite> diamonds = new Array<Sprite>();
public void cards(){
diamonds.add(ace = new Sprite(new Texture("diamonds/AD.png")));
diamonds.add(two = new Sprite(new Texture("diamonds/2D.png")));
diamonds.add(three = new Sprite(new Texture("diamonds/3D.png")));}}
public class Spades extends CardTypes{
public Array<Sprite> spades = new Array<Sprite>();
public void cards(){
spades.add(ace = new Sprite(new Texture("spades/AS.png")));
spades.add(two = new Sprite(new Texture("spades/2S.png")));
spades.add(three = new Sprite(new Texture("spades/3S.png")));}}
public class Clubs extends CardTypes {
public Array<Sprite> clubs = new Array<Sprite>();
public void cards(){
clubs.add(ace = new Sprite(new Texture("clubs/AC.png")));
clubs.add(two = new Sprite(new Texture("clubs/2C.png")));
clubs.add(three = new Sprite(new Texture("clubs/3C.png")));}}
public class Hearts extends CardTypes {
public Array<Sprite> hearts = new Array<Sprite>();
public void cards(){
hearts.add(ace = new Sprite(new Texture("hearts/AH.png")));
hearts.add(two = new Sprite(new Texture("hearts/2H.png")));
hearts.add(three = new Sprite(new Texture("hearts/3H.png")));}}
每个 Sprite 数组都包含 3 张卡片,我尝试创建一个不同的 Sprite 数组并使用 com.badlogic.gdx.utils.Array 中的 addAll() 方法,但它似乎不起作用。
最佳答案
创建对象并保留所有CardTypes
的引用
Diamonds diamond= new Diamond();
diamond.cards(); // add sprites into diamonds array
Spades spade = new Spades();
spade.cards();
Clubs club=new Club();
club.cards();
Hearts heart=new Hearts();
heart.cards();
现在将所有卡片合并到一个数组
中:
Array allCard = new Array<Sprite>();
allCard.addAll(diamond.diamonds);
allCard.addAll(spade.spades);
allCard.addAll(club.clubs);
allCard.addAll(heart.hearts);
关于java - Libgdx 将2个以上的 Sprite 数组组合成1个 Sprite 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51846689/