2012-04-22 11 views
1

俳優には以下の名前はありません。 libgdxでは、各アクタに名前を割り当てるのに最適な方法は何ですか?libgdxでActorを指定する方法は?

public class JewelsMainActivity implements ApplicationListener, InputProcessor { 

private Vector2 point = new Vector2(); 
public TextureAtlas jewelsAtlas; 
public Texture jewels; 
private SpriteBatch batch; 
public Actor[][] actors = new Actor[10][10]; 
public Stage stage; 
public int gridSize; 

@Override 
public void create() { 
    stage = new Stage(800, 600, false); 
    gridSize = 10; 
    batch = new SpriteBatch(); 
    jewels = new Texture(Gdx.files.internal("assets/gems1.png")); 
    jewelsAtlas = new TextureAtlas(Gdx.files.internal("assets/pack")); 
    for (int z = 0; z < gridSize; z++) { 
     for (int x = 0; x < gridSize; x++) { 
       Random r = new Random(); 
       int j = r.nextInt(2)+1; 
       actors[x][z] = new Image(jewelsAtlas.findRegion(""+j+"")); 
       actors[x][z].x = x*56; //each gem is 56*56 width/height 
       actors[x][z].y = z*56; 

//俳優[X] [Z] .nameの= "アクター" + X + Z。これ以上、それは文句を言わない許すよう //カント使用....

   stage.addActor(actors[x][z]); 

     } 
    } 
    Gdx.input.setInputProcessor(this); 
} 


@Override 
public void render() { 
     Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
     batch.begin(); 
     stage.draw(); 
     batch.end(); 
} 

@Override 
public boolean touchDown(int x, int y, int pointer, int button) { 
     stage.toStageCoordinates(Gdx.input.getX(), Gdx.input.getY(), point); 
     Actor actor = stage.hit(point.x, point.y); 
     if (actor != null){ 

      Gdx.app.log("name", actor.name); 

// actor.nameは

  Gdx.app.log("hashCode", ""+actor.hashCode()); 
      ((Image)actor).color.set((float)Math.random(), (float)Math.random(), (float)Math.random(), 0.5f + 0.5f * (float)Math.random()); 
     } 
    return false; 
} 

nullです.... .... ... 。

}

答えて

2

名は最終的なもので、そのようなものとして、コンストラクタで定義されなければなりません。あなたはActor.setUserObject(オブジェクトobj)

actors[x][z] = new Image(jewelsAtlas.findRegion(""+j+""));

使用

actors[x][z] = new Image(jewelsAtlas.findRegion(""+j+""), Scaling.none, Align.CENTER, "myawesomenewname");

+0

ありがとうsticky !! – user1320651

関連する問題