0

ステージ上のアクターがタッチされたときにのみ関数を実行したい..しかし問題は、ステージ上のどこに触れても関数が実行されることです..ステージ上のランダムな場所に触れたとしても、関数は実行されます. . アクターがタッチされたときにのみ関数を実行したい..境界を設定しています...それでも機能しません..

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;
    }
4

1 に答える 1

1

メソッドは、hitあなたが思っていることをしていません。このhitメソッドは、現在のアクターが指定された x、y と交差するかどうかをテストするためのものであるため、常に呼び出されます。(アクターが長方形ではないため、「ヒット」を破棄したい場合に便利です。)

addListenerタッチ イベントを受信して​​反応するイベント リスナーを追加するために使用します。

于 2013-03-25T04:58:33.143 に答える