首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ANDROID ANDENGINE --拖放堆叠的精灵

ANDROID ANDENGINE --拖放堆叠的精灵
EN

Stack Overflow用户
提问于 2011-11-06 21:47:00
回答 1查看 2.3K关注 0票数 0

在我的应用程序中,我需要在显示屏上拖放一些精灵。我定义了BitmapTextureAtlas和相应的TextureRegion,然后我已经根据这些数据创建了可拖动的sprite。

一些精灵必须放置在相同的位置,并且它们必须堆叠。

一切都很好,除了精灵的接缝要堆叠,但当我触摸拖走一个,而不是拖动第一个在顶部,它使我拖走总是在底部的第一个。

我怎么才能修复它?

此函数初始化子画面

代码语言:javascript
复制
public Vector<Sprite> initSprite(Vector<TextureRegion> tRegionV){
    Vector<Sprite> aux = new Vector<Sprite>();
    for(int i=0; i<dataV.size(); i++ ){
        final int gap = dataV.elementAt(i).gap;
        sprite = new Sprite(dataV.elementAt(i).x, dataV.elementAt(i).y, tRegionV.elementAt(i))

        // gestione del drag & drop
        {
            @Override
            public boolean onAreaTouched(final TouchEvent pSceneTouchEvent,
                    final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
                setPosition(pSceneTouchEvent.getX() - this.getWidth() / 2, pSceneTouchEvent.getY()
                        - gap /*this.getHeight() / 2*/);
                //System.out.println("POSIZIONE X: "+(pSceneTouchEvent.getX()- this.getWidth() / 2) +" --- Y: " +(pSceneTouchEvent.getY() - this.getHeight() / 2));
                //System.out.println("ALTEZZA: "+this.getHeight());

                return true;
            }
        };

        if(sprite==null)   System.out.println("AAAAAA sprite" +i+" null");
        aux.addElement(sprite);
    }

    return aux;
}

我把场景中的精灵设置成这样

代码语言:javascript
复制
    for(int x=0;x<spriteV.size();x++){
        scene.getLastChild().attachChild(spriteV.elementAt(x));
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-11 19:13:19

请参阅:MultiTouchExample.java

您可能想要执行以下操作:

代码语言:javascript
复制
this.mScene.setOnAreaTouchTraversalFrontToBack();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8027400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档