久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何檢測 Java libGDX 中是否觸摸了精靈?

How do I detect if a sprite was touched in Java libGDX?(如何檢測 Java libGDX 中是否觸摸了精靈?)
本文介紹了如何檢測 Java libGDX 中是否觸摸了精靈?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

限時送ChatGPT賬號..

在過去的幾天里,我一直在將我的游戲 (Apopalypse) 移植到 Android 移動平臺.我在谷歌上快速搜索了精靈觸摸檢測,但沒有發(fā)現(xiàn)任何有用的東西.每個氣球一旦被觸摸就會彈出,我只需要檢測它是否被觸摸.這是我的氣球生成代碼:

In the past few days I've been porting my game (Apopalypse) to the Android Mobile platform. I've did a quick search on Google of sprite touch detection but didn't find anything helpful. Each balloon will pop once touched and I just need to detect if it's touched. Here's my balloon spawning code:

渲染(x、y、寬度和高度是隨機(jī)的):

Rendering (x, y, width, and height are randomized):

public void render() {
    y += 2;
    balloon.setX(x);
    balloon.setY(y);
    balloon.setSize(width, height);
    batch.begin();
    balloon.draw(batch);
    batch.end();
}

在主游戲類中生成:

addBalloon(new Balloon());

public static void addBalloon(Balloon b) {
    balloons.add(b);
}

推薦答案

我就是這樣做的,但是根據(jù)您使用的場景和可以觸摸的元素,可以有稍微更優(yōu)化的方法來執(zhí)行此操作:

This is how I did it, but depending on the scene you are using and the elements that can be touched, there can be slightly more optimized ways of doing this:

public GameScreen implements Screen, InputProcessor
{

  @Override
  public void show()
  {
      Gdx.input.setInputProcessor(this);
  }

  @Override
  public boolean touchDown(int screenX, int screenY, int pointer, int button)
  {
      float pointerX = InputTransform.getCursorToModelX(windowWidth, screenX);
      float pointerY = InputTransform.getCursorToModelY(windowHeight, screenY);
      for(int i = 0; i < balloons.size(); i++)
      {
          if(balloons.get(i).contains(pointerX, pointerY))
          {
              balloons.get(i).setSelected(true);
          }
      }
      return true;
   }

   @Override
   public boolean touchUp(int screenX, int screenY, int pointer, int button)
   {
       float pointerX = InputTransform.getCursorToModelX(windowWidth, screenX);
       float pointerY = InputTransform.getCursorToModelY(windowHeight, screenY);
       for(int i = 0; i < balloons.size(); i++)
       {
           if(balloons.get(i).contains(pointerX, pointerY) && balloons.get(i).getSelected())
           {
               balloons.get(i).execute();
           }
           balloons.get(i).setSelected(false);
       }
       return true;
    }

public class InputTransform
{
    private static int appWidth = 480;
    private static int appHeight = 320;

    public static float getCursorToModelX(int screenX, int cursorX) 
    {
        return (((float)cursorX) * appWidth) / ((float)screenX); 
    }

    public static float getCursorToModelY(int screenY, int cursorY) 
    {
        return ((float)(screenY - cursorY)) * appHeight / ((float)screenY) ; 
    }
}

這篇關(guān)于如何檢測 Java libGDX 中是否觸摸了精靈?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Parsing an ISO 8601 string local date-time as if in UTC(解析 ISO 8601 字符串本地日期時間,就像在 UTC 中一樣)
How to convert Gregorian string to Gregorian Calendar?(如何將公歷字符串轉(zhuǎn)換為公歷?)
Java: What/where are the maximum and minimum values of a GregorianCalendar?(Java:GregorianCalendar 的最大值和最小值是什么/在哪里?)
Calendar to Date conversion for dates before 15 Oct 1582. Gregorian to Julian calendar switch(1582 年 10 月 15 日之前日期的日歷到日期轉(zhuǎn)換.公歷到儒略歷切換)
java Calendar setFirstDayOfWeek not working(java日歷setFirstDayOfWeek不起作用)
Java: getting current Day of the Week value(Java:獲取當(dāng)前星期幾的值)
主站蜘蛛池模板: 成人久久18免费网站 | 久久久久9999 | 日韩av免费看 | 亚洲午夜电影 | 日本福利片 | 黄色a级一级片 | 性一爱一乱一交一视频 | 久久精品视频91 | 欧美一区二区三区在线 | 精国产品一区二区三区 | 国产高清美女一级a毛片久久w | 日本一区二区三区四区 | 在线观看国产视频 | 中文字幕一区二区在线观看 | 国产精品久久久久久妇女6080 | 99久久精品国产毛片 | 插插宗合网 | 美女视频h| 两性午夜视频 | 一级免费a | 一区二区三区四区在线视频 | www.日韩系列 | 精品日韩一区二区三区 | 久久久久久久久久久91 | www日| 秋霞av国产精品一区 | 中文字幕在线观看一区 | 颜色网站在线观看 | 国产日韩精品一区二区三区 | 亚洲激情一区二区三区 | 电影91久久久 | 欧美日韩三级在线观看 | 亚洲国产成人久久久 | 国产综合精品一区二区三区 | 日本精品一区二区三区在线观看视频 | 二区中文字幕 | tube国产| 国产精品7777777 | 国产一二区免费视频 | 成人久草| 一区二区三区av |