<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      現(xiàn)在的完成階段,游戲場景內(nèi)做了3個監(jiān)聽

      我的地圖(五層圖片)主要存放在里面演員BgActor 里

      3個監(jiān)聽:

      actor的監(jiān)聽:監(jiān)聽手指點擊地圖位置,換算坐標

      addListener(new ClickListener() {
                  @Override
                  public void clicked(InputEvent event, float x, float y) {
                      // 點擊圖片,圖片隱藏![這里寫圖片描述](https://img-blog.csdn.net/20160425220710777)
                      // super.clicked(event, x, y);
                      // Gdx.app.log("點擊的精靈位置1", "x:" + (getX()/getZoom()+x)+" y:"
                      // +(getY()/getZoom()+ y));
                      
                      // 由于要在actor等中使用坐標繪圖,所以采用libgdx的actor坐標系
                      // 左下為0,0,向右上方向負數(shù)擴展
                      
                      // Gdx.app.log("點擊背景位置1", "bgx:" + getX()+" bgy:" + getY()+"
                      // zoom:" + getZoom()+" x:" + x+" y:" + y+" rgw:" +
                      // getRegion().getRegionWidth()+" rgh:" +
                      // getRegion().getRegionHeight());
                      // Gdx.app.log("點擊背景位置2", "actX:" + (getX()-x)/getZoom()+"
                      // actY:"+ (getY()-y)/getZoom());
                      
                       coord = GameMap.getHotCell(getImgXCoordByActX((getX() - x) / getZoom()), getImgYCoordByActY((getY() - y) / getZoom()));
                      
                      Gdx.app.log("點擊背景位置3", "imgX:" + getImgXCoordByActX((getX() - x) / getZoom()) + " imgY:" + getImgYCoordByActY((getY() - y) / getZoom()));
                      Gdx.app.log("點擊背景位置4", "imgX:" + coord.getX() + " imgY:" + coord.getY());
                      
                  }
              });

       

      Gdx.input.justTouched來做手勢滑動監(jiān)聽,隨滑動改變方向

        if (Gdx.input.justTouched() && isTouching == false) {
                     isTouching = true;
                     touchBaseX = Gdx.input.getX(0);
                     touchBaseY = Gdx.input.getY(0);
                     //touchBaseX += cam.position.x - GAMESTAGE_WIDTH / 2;
                     //Gdx.app.log("觸摸", "1");
                     
                     // isTouched 是結(jié)束時,手指按下的點。
                 } else if (Gdx.input.isTouched(0) && isTouching == true) {
                     touch_X = Gdx.input.getX(0);
                     touch_Y = Gdx.input.getY(0);
                      moveX=(touchBaseX-touch_X)/20;
                      moveY=(touch_Y-touchBaseY)/20;
                     if(moveX>50) {
                         moveX=50;
                     }
                     if(moveX<-50) {
                         moveX=-50;
                     }
                     if(moveY>50) {
                         moveY=50;
                     }
                     if(moveY<-50) {
                         moveY=-50;
                     }
                     bgActor.setX(bgActor.getX()-moveX);
                     bgActor.setY(bgActor.getY()-moveY);
                     //Gdx.app.log("觸摸 起點:", "touchBaseX:"+touchBaseX+" touchBaseY:"+touchBaseY);
                     //Gdx.app.log("觸摸 終點:", "touch_X:"+touch_X+" touch_Y:"+touch_Y);
                     //Gdx.app.log("觸摸 移動:", "moveX:"+moveX+" moveY:"+moveY);
                 }else {
                     isTouching =false;
                 }

       

      操作電腦時的監(jiān)聽(主要是鼠標中鍵)

       //電腦
          class InputProcessorEvent implements InputProcessor {
              
              @Override
              public boolean keyDown(int keycode) {
                  /*if (keycode == Keys.BACK) {
                      // 處理返回事件
                  } else if (keycode == Keys.MENU) {
                      // 處理菜單事件
                  }*/
                  return true;  // 如果此處設(shè)置為false那么不會執(zhí)行key up
              }
      
                  @Override
                  public boolean keyUp(int keycode) {
                      return true;
                  }
                  @Override
                  public boolean keyTyped(char character) {  // 可以輸出按鍵的字母和數(shù)字,不過貌似不好使
                      return true;
                  }
      
                  @Override
                  public boolean touchDown(int screenX, int screenY, int pointer, int button) {
                      return true;
                  }
      
                  @Override
                  public boolean touchUp(int screenX, int screenY, int pointer, int button) {
                      return true;
                  }
      
                  @Override
                  public boolean touchDragged(int screenX, int screenY, int pointer) {
                      return true;
                  }
      
                  @Override
                  public boolean mouseMoved(int screenX, int screenY) {
                      return true;
                  }
      
                  @Override
                  public boolean scrolled(int amount) {
                      //Gdx.app.log("滑輪滾動", amount+"");
                      
                      
                      
                      if(amount>0) {
                          //TODO 縮放時調(diào)整鏡頭在中間
                          //bgActor.setX(bgActor.getX()-bgActor.getZoom()*bgActor.getRegion().getRegionWidth()/2);
                          //bgActor.setX(bgActor.getY()-bgActor.getZoom()*bgActor.getRegion().getRegionHeight());
                          bgActor.setZoom(bgActor.getZoom()+0.01f);
                          //Gdx.app.log("相機zoom2", bgActor.getZoom()+"");
                      }else {
                          bgActor.setZoom(bgActor.getZoom()-0.01f);
                          //Gdx.app.log("相機zoom", bgActor.getZoom()+"");
                      }
                      
                      
                      return true;
                  }
      
          }

       

       

      觸摸屏幕的監(jiān)聽

      class MapListener implements GestureListener{
              
              @Override
              public boolean touchDown(float x, float y, int pointer, int button) {
                  Gdx.app.log("touchDown", "x:" + x+" y:" + y);
                  return false;
              }
              
              @Override
              public boolean tap(float x, float y, int count, int button) {
                  Gdx.app.log("tap", "x:" + x+" y:" + y);
                  return false;
              }
                  
              @Override
              public boolean longPress(float x, float y) {
                  Gdx.app.log("longPress", "x:" + x+" y:" + y);
                  return false;
              }
                  
              @Override
              public boolean fling(float velocityX, float velocityY, int button) {
                  Gdx.app.log("fling", "velocityX:" + velocityX+" velocityY:" + velocityY);
                  return false;
              }
                  
              @Override
              public boolean pan(float x, float y, float deltaX, float deltaY) {
                  Gdx.app.log("touchDown", "x:" + x+" y:" + y);
                  return false;
              }
                  
              @Override
              public boolean panStop(float x, float y, int pointer, int button) {
                  Gdx.app.log("touchDown", "x:" + x+" y:" + y);
                  return false;
              }
                  
              @Override
              public boolean zoom (float originalDistance, float currentDistance){
                  Gdx.app.log("zoom", "originalDistance:" + originalDistance+" currentDistance:" + currentDistance);
                 //TODO 觸摸縮放事件
                  return false;
              }
      
              @Override
              public boolean pinch (Vector2 initialFirstPointer, Vector2 initialSecondPointer, Vector2 firstPointer, Vector2 secondPointer){
                  Gdx.app.log("pinch", "");
                  return false;
              }
              @Override
              public void pinchStop () {
                  Gdx.app.log("pinchStop", "");
              }
          
          }

      根據(jù)平臺選擇監(jiān)聽

        processorEvent = new InputProcessorEvent();//手勢監(jiān)聽
        mapListener=new MapListener();

      Gdx.app.log("平臺", Gdx.app.getType()+"");
              switch (Gdx.app.getType()) {
                  case Desktop:// Code for Desktop applicationbreak;
                      multiplexer.addProcessor(processorEvent);
                  case Android:// Code for Android applicationbreak;
                      multiplexer.addProcessor(new GestureDetector(mapListener));
                  case WebGL:// Code for WebGL applicationbreak;
                      multiplexer.addProcessor(processorEvent);
                  default:// Unhandled (new?) platform applicationbreak;
                      multiplexer.addProcessor(processorEvent);
                      multiplexer.addProcessor(new GestureDetector(mapListener));
               }/**/
              Gdx.input.setInputProcessor(multiplexer);

      Ps:手勢監(jiān)聽因為安卓環(huán)境沒有配好的原因暫時未做,隨后會補上

      posted on 2019-03-04 21:58  黑獄  閱讀(195)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 欧美性色黄大片| 亚洲丶国产丶欧美一区二区三区| 国产成人亚洲无码淙合青草| 99在线小视频| 久99久热精品免费视频| 丁香色婷婷国产精品视频| 91精品蜜臀国产综合久久| 国产精品自在线拍国产手机版| 欧洲精品色在线观看| 在线观看无码av免费不卡网站| 亚洲一卡2卡3卡4卡精品| 国产av一区二区亚洲精品| mm1313亚洲国产精品| 免费无遮挡毛片中文字幕| 精品无码久久久久久久动漫| 久久香蕉国产亚洲av麻豆| 日本中文字幕有码在线视频| 天天澡日日澡狠狠欧美老妇| 国产无遮挡裸体免费久久| 亚洲国产精品人人做人人爱| 久久se精品一区精品二区国产| 可以直接看的无码av| 无码免费大香伊蕉在人线国产| 漂亮人妻中文字幕丝袜| 精品国产高清中文字幕| 精品人妻伦九区久久aaa片| 免费网站看av片| 国产综合久久久久鬼色| 十八禁午夜福利免费网站| 竹山县| JIZZJIZZ国产| 久久久国产成人一区二区| 亚洲中文字幕一区二区| 亚洲人成网网址在线看| 欧美高清一区三区在线专区| 一区二区三区激情都市| 日韩精品区一区二区三vr| 国产精品国产精品国产专区| 在线精品视频一区二区三四| 国产精品综合一区二区三区| 久久久无码精品国产一区|