【问题标题】:Libgdx Combine more than 2 sprite arrays into 1 sprite arrayLibgdx 将 2 个以上的精灵数组组合成 1 个精灵数组
【发布时间】:2018-08-14 17:16:45
【问题描述】:

我想知道他们是否可以将 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() 方法,但它似乎不起作用。

【问题讨论】:

  • 你的代码是什么,你的输入是什么,你期望什么?
  • 我只是想知道如何将这4个独立的数组组合成1个数组。

标签: java arrays libgdx


【解决方案1】:

创建对象并保留您所有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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多