我對Java編程相當陌生,而且我在創建這些對象的過程中遇到了一些障礙。對象陣列邏輯問題
這裏的代碼示例:
public static Sprite backwardNullHelm = new Sprite(16, 0, 0, SpriteSheet.armor);
public static Sprite backwardNullHelm_1 = new Sprite(16, 1, 0, SpriteSheet.armor);
public static Sprite backwardNullHelm_2 = new Sprite(16, 2, 0, SpriteSheet.armor);
public static Sprite forwardNullHelm = new Sprite(16, 0, 1, SpriteSheet.armor);
public static Sprite forwardNullHelm_1 = new Sprite(16, 1, 1, SpriteSheet.armor);
public static Sprite forwardNullHelm_2 = new Sprite(16, 2, 1, SpriteSheet.armor);
public static Sprite rightNullHelm = new Sprite(16, 0, 2, SpriteSheet.armor);
public static Sprite rightNullHelm_1 = new Sprite(16, 1, 2, SpriteSheet.armor);
public static Sprite rightNullHelm_2 = new Sprite(16, 2, 2, SpriteSheet.armor);
public static Sprite leftNullHelm = new Sprite(16, 0, 3, SpriteSheet.armor);
public static Sprite leftNullHelm_1 = new Sprite(16, 1, 3, SpriteSheet.armor);
public static Sprite leftNullHelm_2 = new Sprite(16, 2, 3, SpriteSheet.armor);
這是我如何申報之中人物的頭飾精靈。 下面是如果必要的構造:
public Sprite(int size, int x, int y, SpriteSheet sheet)
我將它們存儲在陣列是這樣的:
backwardHelmet[0] = Sprite.backwardNullHelm;
backwardHelmet[1] = Sprite.backwardNullHelm_1;
backwardHelmet[2] = Sprite.backwardNullHelm_2;
forwardHelmet[0] = Sprite.forwardNullHelm;
forwardHelmet[1] = Sprite.forwardNullHelm_1;
forwardHelmet[2] = Sprite.forwardNullHelm_2;
rightHelmet[0] = Sprite.rightNullHelm;
rightHelmet[1] = Sprite.rightNullHelm_1;
rightHelmet[2] = Sprite.rightNullHelm_2;
leftHelmet[0] = Sprite.leftNullHelm;
leftHelmet[1] = Sprite.leftNullHelm_1;
leftHelmet[2] = Sprite.leftNullHelm_2;
的方向是指角色正面(頂向下的角度)和數字哪個方向(在對象名稱中)是指動畫狀態。 對我來說,是否有能力「標記」對象(即以某種方式附加一個數字),以便我可以使用循環將它們放入數組中?
查看字符串鍵/精靈值對的映射。 – duffymo
爲什麼你不能有一個'Sprite'對象持有4個不同的方向?然後,您可以獲取每個方向的方法,或者將方向作爲參數的單個get方法。 –