android - Andengine Sprites 排列并触摸了哪一个?

标签 android sprite andengine touch-event

我在场景中有 10 张图片作为 Sprite 。它们位于一个数组中。图片( Sprite )通过 MoveModifier 在场景上移动。 我想要这个:当我触摸任何图片时,我触摸的图片应该是不可见的。 我的代码由于 19.line(circles[i].setVisible(false);) 而无法工作 eclipse 说我将 i(variable) 作为final。我不能这样做,因为我应该更改它的数组索引。我能做什么?

    final int totalCircleNumber=10;
    int circleNumber=0;
    private Sprite[] circles = new Sprite[totalCircleNumber];
    private Runnable mStartCircle = new Runnable() {
    public void run() {
        int i=circleNumber++;
        Scene scene = Level1Activity.this.mEngine.getScene();
        float startX = randomNumber.nextFloat()*(CAMERA_WIDTH);
        float startY = -64.0f;
        float finishX= randomNumber.nextFloat()*(CAMERA_WIDTH);
        float finishY= CAMERA_HEIGHT+64.0f;
        int j= randomNumber.nextInt(50);
        circles[i] = new Sprite(startX, startY, textRegCircle[j]){
            @Override
            public boolean onAreaTouched(final TouchEvent pAreaTouchEvent,final float pTouchAreaLocalX, final float pTouchAreaLocalY) {

                if(pAreaTouchEvent.isActionDown())
                {                                       
                     circles[i].setVisible(false);

                }                   
                return true;
                }
        };


        scene.registerTouchArea(circles[i]);


        circles[i].registerEntityModifier(
                (IEntityModifier) new SequenceEntityModifier (
                            new MoveModifier(velocityOfCircle, circles[i].getX(),  finishX, 
                                    circles[i].getY(), finishY)));

        scene.getLastChild().attachChild(circles[i]);
        if (circleNumber < totalCircleNumber){
            mHandler.postDelayed(mStartCircle,second);
        }
    }
 };

最佳答案

替换:

circles[i].setVisible(false);

this.setVisible(false);

关于android - Andengine Sprites 排列并触摸了哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10325234/

相关文章:

android - 从android发送短信到服务器

Android 在 facebook 上分享评论

android - RecyclerView & SnapHelper -> 获取快照/目标 View

c++ - 在 sfml c++ 中向后翻转你的角色 Sprite

android - AndEngine中的投影

android - 如何根据存储在 firebase 中的数据更改按钮文本颜色

java - 如何在 Java 2D 游戏中制作 Sprite 的透明部分?

c# - Unity - 来自 Sprite 顶点的网格

java - 使用 Google Play 服务的 AndEngine 广告

android - 如何处理 Galaxy S4 分辨率,因为它对于 AndEngine RatioResolutionPolicy 来说太高了