在Java中分配整数

时间:2015-09-19 01:54:02

标签: java

我正致力于用Java制作基于图块的游戏。当玩家在装备物品时点击带有怪物的瓷砖时,会打开一个窗口(由一个班级处理)。这个窗口给角色三个按钮,这样他们就可以选择要攻击的怪物的哪个部分。当他们单击一个按钮时,会运行一个类来处理该攻击。

我遇到的问题是分配一个可以应用Window.class的Integer。窗口代码有Zapper.shootHigh();从Zapper级别开始射击。从Window.class只有shootHigh()我得到这个错误:Zapper中的shootHigh(Integer)不能应用于()。

好的,没什么大不了的,对吧?我一直致力于制作Zapper类可以在()空间中应用的任何参数。我一直无法想出任何东西。我已尝试过各种作业,但我无法弄清楚如何让单元格返回整数。我知道我可以把它变成Zapper.shootHigh(1)并且总是在第1区拍摄,但这不是一个选择。

这是Zapper.class代码:

public static void shootHigh(Integer target) {

        if (target != null) {

            if (target == curUser.pos) {
                GLog.i( TXT_SELF_TARGET );
                return;
            }

            final Wand curWand = (Wand)Wand.curItem;

            curWand.setKnown();

            final int cell = Ballistica.cast( curUser.pos, target,true,     curWand.hitChars );
            curUser.sprite.zap( cell );

            QuickSlot.target( curItem, Actor.findChar( cell ) );

             if (curWand.curCharges > 0) {

            curUser.busy();

            curWand.fx(cell, new Callback() {
                @Override
                public void call() {
                    curWand.onZap(cell);
                    curWand.wandUsed();
                }
            });

            Invisibility.dispel();

        } else {

                curUser.spendAndNext( TIME_TO_ZAP );
                GLog.w( TXT_FIZZLES );
                curWand.levelKnown = true;

                curWand.updateQuickslot();
            }

        }

所以目标位于指定的单元格,如果魔杖有足够的费用,则魔杖会触发特定的单元格。

我想我要问的是,如何在Zapper.class中创建另一个Integer来告诉Zapper.shootHigh()它应该拍摄哪个单元格号?

有没有办法在这里初始化变量,因此整数将被识别为' cell'?或者更好的是,'目标'?

我想我也可能不理解如何声明Integer变量目标。是否有另一种方法可以将目标声明为整数并初始化它而不使其成为格式(整数目标)的参数?

1 个答案:

答案 0 :(得分:0)

只是一个想法,但我可能错了。

为什么不创建一个公共的Interger getTarget()'在zapper类中的方法,然后给zapper类引用一个window类,然后从window类里面的shootHigh方法你可以调用getTarget()方法。