2012-04-22 3 views
1

액터에는 아래에 이름이 없습니다. libgdx에서는 각 액터에 이름을 할당하는 가장 좋은 방법은 무엇입니까?libgdx에서 액터의 이름을 지정하는 방법은 무엇입니까?

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; 

// actors [x] [z] .name = "actor"+ 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; 
} 

널 .... .... ...

답변

2

이름은 최종적이며 생성자에서 정의되어야합니다. 당신이

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

사용

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

+0

감사합니다. – user1320651

관련 문제