首页 > 解决方案 > Libgdx 将 2 个以上的精灵数组组合成 1 个精灵数组

问题描述

我想知道他们是否可以将 2 个以上的精灵数组组合成 1 个精灵数组。例如,我想将这 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")));}}

这些精灵数组中的每一个都包含 3 张卡片,我尝试创建一个不同的精灵数组并使用 com.badlogic.gdx.utils.Array 中的 addAll() 方法,但它似乎不起作用。

标签: javaarrayslibgdx

解决方案


创建对象并保留您所有的参考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

Array allCard = new Array<Sprite>();
allCard.addAll(diamond.diamonds);
allCard.addAll(spade.spades);
allCard.addAll(club.clubs);
allCard.addAll(heart.hearts);

推荐阅读