2014-11-30 6 views
0

У меня есть актеры и слушатели для каждого из них. Проблема в том, что если я не поворачиваю актер, все работает отлично, но если у Актера есть поворот, например, 5 градусов/кадр, он не всегда работает, как если бы я пропустил актер и не нажимал прямо на него, даже если я щелкните правой кнопкой мыши на нем. И это происходит случайным образом. В чем проблема? Я пробовал менять местоположение обновления ротации и т. Д., Но ничего не помогает.Слушатель повернутого актера

Сначала я обновил поворот прямо перед тем, как рисовать, как это, и это было проблемой, но изменение этого не помогло. Поэтому я не знаю, в чем проблема.

public void draw(Batch batch, float parentAlpha){ 
    rotateBy(angle); 
    batch.setColor(getColor()); 
    batch.draw(toDraw, getX(), getY(), getCenterX(),getCenterY(), getWidth(), getHeight(), 1, 1, getRotation()); 
} 
+0

Итак, я сделал некоторые experements с вращением и все работает только замечательно, если актер не поворачивается , В другом случае появляется случайный фактор, и слушатель не работает всегда. Вы можете нажать 10 раз и зарегистрировать только 5 кликов. –

ответ

0

не такой актер вы имеете в виду, но это пример того, я надеюсь, вы поможете

Skin skin = new Skin(Gdx.files.internal("skin/uiskin.json")); 

TextButton buton = new TextButton("Hola_Mundo", skin); 
Container container = new Container(buton); 

container.setCenterPosition(800, 480); 
container.setTransform(true); 
container.rotateBy(60); 

.// 

YourStage.addActor(container); 
Gdx.input.setInputProcessor(YourStage); 
+0

Могу ли я каким-либо образом использовать .setTransform без использования Countaner? –

Смежные вопросы