触摸事件无法正常工作..libgdx

时间:2013-03-23 21:30:39

标签: java android libgdx

我想只在触摸舞台上的演员时执行一个功能。 但问题是函数被执行而不管它在舞台上的位置如何...... 即使它在舞台上触及某个随机位置,也会执行该功能。 我希望这个函数只在玩家被触摸时执行..我有setbounds ......它还没有工作..

public Restart() 
    {
       atlas = new TextureAtlas(Gdx.files.internal("pages-info.atlas"));
       sprite = atlas.createSprite("restart");
       this.touchable = true;
        sprite.setBounds(x, y, sprite.getWidth(), sprite.getHeight());

    }



public void draw(SpriteBatch batch,float parentAlpha)
    {       
        batch.draw(sprite, x, y , width, height  );

    }



@Override
    public Actor hit(float x, float y) 
    {
        // TODO Auto-generated method stub
        Gdx.app.log( FirstGame.LOG, " restart working " );
        return null;
    }

1 个答案:

答案 0 :(得分:1)

hit方法没有按照您的想法执行。如果当前actor与给定的x,y相交,则hit方法用于测试,因此它总是被调用。 (如果你想抛弃“命中”,那么它很有用,因为你的演员不是长方形。)

使用addListener添加事件监听器以接收触摸事件并对其作出反应。