免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

2 Libgdx游戲開發(fā)——接水滴游戲?qū)崿F(xiàn)

原文:Libgdx游戲開發(fā)(2)——接水滴游戲?qū)崿F(xiàn) - Stars-One的雜貨小窩
本文使用Kotlin語言開發(fā)
通過本文的學(xué)習(xí)可以初步了解以下基礎(chǔ)知識的使用:
  • Basic file access
  • Clearing the screen
  • Drawing images
  • Using a camera
  • Basic input processing
  • Playing sound effects
游戲玩法游戲的主要玩法有以下5點:
  1. 使用桶接水滴
  2. 桶只能左右移動
  3. 水滴會從頂部并加速下落
  4. 玩家可以通過鼠標(biāo)或鍵盤來移動桶
  5. 游戲沒有結(jié)束一說,可以一直玩
預(yù)覽動圖:
2 Libgdx游戲開發(fā)——接水滴游戲?qū)崿F(xiàn)

文章插圖
步驟1.創(chuàng)建項目
2 Libgdx游戲開發(fā)——接水滴游戲?qū)崿F(xiàn)

文章插圖
由于我是要使用Kotlin開發(fā),所以勾選了Kotlin開發(fā)的選項
2 Libgdx游戲開發(fā)——接水滴游戲?qū)崿F(xiàn)

文章插圖
實際上,創(chuàng)建出來的項目,還是Java文件寫的,所以,為了方便,我用了Android Studio把Java文件轉(zhuǎn)為了Kotlin文件
2 Libgdx游戲開發(fā)——接水滴游戲?qū)崿F(xiàn)

文章插圖
2.添加資源文件之后,我們需要添加該有的素材文件,總共有四個文件
  • drop.wav 水滴掉落在桶里的聲音
  • rain.mp3 雨聲(背景聲)
  • bucket.png 桶圖片
  • drop.png 水滴圖片
都放在assets資源文件夾中
2 Libgdx游戲開發(fā)——接水滴游戲?qū)崿F(xiàn)

文章插圖
資源文件下載可以點擊下載 藍(lán)奏云下載
3.設(shè)置游戲配置找到desktop文件夾目錄下的代碼文件,進(jìn)行代碼的修改,調(diào)整游戲窗口大小為800*480,并開啟垂直同步
//設(shè)置游戲窗口大小為800*480config.setWindowedMode(800, 480)//設(shè)置開啟垂直同步config.useVsync(true)
2 Libgdx游戲開發(fā)——接水滴游戲?qū)崿F(xiàn)

文章插圖
4.加載資源文件我們進(jìn)入到core目錄下的CatchWater文件,可以看到具體的代碼結(jié)構(gòu)
2 Libgdx游戲開發(fā)——接水滴游戲?qū)崿F(xiàn)

文章插圖
這里可以看到我們的類是繼承ApplicationAdapter,從名字上就可以讓我們猜測到是使用的設(shè)計模式中的適配器模式來兼容不同平臺(沒深入驗證,僅是猜測)
ApplicationAdapter是抽象類方法,提供了幾個需要重寫的方法,感覺和Android開發(fā)中的Activity差不多,應(yīng)該就是Libgdx游戲的生命周期方法了,這里先不深入擴(kuò)展了
2 Libgdx游戲開發(fā)——接水滴游戲?qū)崿F(xiàn)

文章插圖
因為在游戲開始前,我們得先加載上述我們復(fù)制到項目的一些圖片和音樂的資源文件,所以我們選擇在create()方法中進(jìn)行初始化我們的資源文件
添加以下代碼:
lateinit var dropImage: Texturelateinit var bucketImage: Texturelateinit var dropSound: Soundlateinit var rainMusic: Musicoverride fun create() {// load the images for the droplet and the bucket, 64x64 pixels eachdropImage = Texture(Gdx.files.internal("drop.png"))bucketImage = Texture(Gdx.files.internal("bucket.png"))// load the drop sound effect and the rain background "music"dropSound = Gdx.audio.newSound(Gdx.files.internal("drop.wav"))rainMusic = Gdx.audio.newMusic(Gdx.files.internal("rain.mp3"))}這里需要注意下,我們兩張圖片(水滴和桶)分辨率都是64*64
我們使用了Gdx.files.internal()方法來獲取assets文件夾里的內(nèi)容,之后游戲如果是運行在Android平臺上,這個方法也是通用的
如果是assets文件夾里還有一層文件夾,可以這樣寫:
Gdx.files.internal("iamge/myimg.png")

經(jīng)驗總結(jié)擴(kuò)展閱讀