Ketika saya membuat proyek LibGDX baru kelas utama proyek Core memperluas ApplicationAdapter . Berikut ini tampilannya.
package com.marimba.apptest;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
public class AppMain extends ApplicationAdapter {
@Override
public void create () {
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
}
}
Jadi saya harus mengubah ApplicationAdapter ke Game jika saya ingin memanggil metode setScreen untuk beralih di antara Layar. Jadi apa gunanya ApplicationAdapter ? Kapan saya harus menggunakannya?
ApplicationListener
secara langsung, Anda harus memberikan semua metode yang diperlukan, termasuk yang tidak Anda butuhkan (sukapause()
atauresume()
yang tidak selalu digunakan).ApplicationAdapter
ada di luar sana untuk kenyamanan Anda, jadi Anda tidak perlu menyimpan metode kosong di sekitar. Ini adalah kelas utilitas yang sederhana, tidak menambahkan fungsi baru - hanya membuat kode Anda lebih bersih (atau lebih pendek ).Saat ApplicationAdapter dan kelas Game mengimplementasikan antarmuka ApplicationListener, keduanya dapat digunakan hampir secara bergantian saat membuat game Anda. Jika Anda disetel menggunakan Layar, tidak ada yang menghentikan Anda dari mengimplementasikannya dengan kedua opsi.
Kelas Game memiliki overhead yang lebih sedikit dengan menggunakan Layar. Namun, overhead ini dirancang untuk membuatnya lebih mudah untuk mengimplementasikan berbagai tahapan / level dalam gim Anda. Penting untuk dicatat bahwa overhead ini minimal.
The ApplicationAdapter tidak memiliki overhead tambahan (itu adalah implementasi langsung dari ApplicationListener). Ini memberi Anda lebih banyak kontrol karena Anda harus melakukan semuanya sendiri. Secara pribadi, saya lebih suka menggunakan ApplicationAdapters.
TL; DR: Tidak ada perbedaan nyata di antara mereka. ApplicationAdapter memberi Anda sedikit lebih banyak kontrol & Permainan sedikit kurang berhasil.
sumber