編輯:Android開發實例
因為案例比較簡單,所以簡單用AndroidApplication -> Game -> Stage 搭建框架
一、主入口,無特殊
代碼如下:
public class App extends AndroidApplication {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//初始化Demo
initialize(new Demo(), false);
}
}
二、游戲主類
這裡我們需要資源加載器來管理資源,這裡為了測試,可以多加載些圖片效果明顯點。這裡我們還使用了舞台,使用了自適應分辨率。
這裡的關鍵是在渲染方法中不斷的刷新資源管理器,並且獲取當前加載進度,把它傳給舞台處理。
代碼如下:
public class Demo extends Game {
// 資源管理器
private AssetManager assetManager = null;
// 舞台子類
private Scene scene = null;
@Override
public void create() {
// 生成資源管理器
assetManager = new AssetManager();
// 加載測試圖片
for (int i = 1; i <= 6; i++)
assetManager.load("map" + i + ".png", Texture.class);
// 生成舞台,480x800為基准分辨率,默認延伸
scene = new Scene(480, 800);
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
// 刷新資源管理器
assetManager.update();
// 獲取資源加載百分比,1代表100%
float progress = assetManager.getProgress();
scene.draw(progress);
}
}
三、舞台類
這裡沒有特別的地方,只是將獲取的進度參數展示出來。
代碼如下:
public class Scene extends Stage {
private BitmapFont font;
public Scene(float width, float height) {
super(width, height, true);
font = new BitmapFont(Gdx.files.internal("f.fnt"), false);
font.setScale(0.6f);
}
public void draw(float t) {
super.draw();
batch.begin();
if (t < 1.0f) {
font.draw(batch, "Loading " + (int) (t * 100) + "%", 20f,
height / 2f);
} else {
font.draw(batch, "loaded successfully", 20f, height / 2f);
}
batch.end();
}
}
四、程序截圖
源碼下載
一般使用過UCWEB-Android版的人都應該對其特殊的menu有一定的印象,把menu做成Tab-Menu(支持分頁的Menu),可以容納比Android傳統
天哪,這篇文章終於說道如何自定義權限了,左盼右盼,其實這個自定義權限相當easy。為了方便敘述,我這邊會用到兩個app作為例子示范。 Permission App
我們在應用中經常看到一些選擇開關狀態的配置文件,做項目的時候用的是android的Switch控件,但是感覺好丑的樣子子 個人認為還是自定義的比較好,先上個效果
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個