LibGdx / JAVA addlistener到一个类

时间:2015-02-09 05:43:59

标签: java android libgdx

目前我手动将InputListener添加到每个图像中。

类似下面的代码:

    grid1 = new Image(gridTex1);
    grid2 = new Image(gridTex2);
    grid3 = new Image(gridTex3);
    grid4 = new Image(gridTex4);
    grid5 = new Image(gridTex5);


    grid1.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            //doSomething
            return true;
        }
    });
    grid2.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            //doSomething
            return true;
        }
    });
    grid3.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            //doSomething
            return true;
        }
    });
    grid4.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            //doSomething
            return true;
        }
    });
    grid5.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            //doSomething
            return true;
        }
    });

如果我有200个图像,并且每个图像我都想拥有InputListener,我不认为这是方法。

所以,我打算做的是创建一个类,然后说#34; Grid", 这个类有InputListener,它将返回该类中的值。 然后我可以将这个类存储在数组中,其中所有成员都有inputListener。

也许这是错误的方式,请给我一些指导。提前谢谢。

1 个答案:

答案 0 :(得分:0)

InputEvent的实例允许获取related actor - 虽然这仅对enterexit事件有效。因此,应该可以有一个跟踪当前已输入图像的类,然后在touchDown事件期间使用该图像。