카테고리 없음

[libgdx] libGDX는 touchUp까지 touchDown 루프를 만듭니다.

행복을전해요 2021. 1. 22. 00:39

전체 시스템이 중지되므로 이벤트 콜백 내부에서 "루프"하거나 콜백을 렌더링 할 수 없습니다. 원하는 것을 얻는 한 가지 방법은 touchDown메서드 에서 플래그를 설정하고 메서드에서 플래그를 지운 다음 플래그로 보호되는 touchUp루프의 "본문"을에 넣는 render것입니다.

boolean touchActive = false;

public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
   //start runnable   (move player)     
      touchActive = true;
         return true;
         }
         
         public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
            //stop runnable
               touchActive = false;
               }
               
               
               public void render(float delta) {
                  ...
                     if (touchActive) {
                           // Do one iteration of your "while" loop
                              }
                                 ...
                                 }
                                 
-------------------

render () 또는 그리기 스레드에서 다음을 사용할 수 있습니다.

 if (Gdx.input.isTouched()){
  //some thing move()
  }
  


출처
https://stackoverflow.com/questions/22009803