【开源java游戏框架libgdx专题】-14-系统控件-Skin类

时间:2022-12-21 15:46:37
Skin类主要用于存储用户界面的资源,该资源主要用于窗口部件。这些资源也包括纹理图片、位图画笔、颜色等内容。方便创建游戏组件,同时使用Skin也可以批量的粗略处理一些窗口部件。
test.json
 {
     com.badlogic.gdx.graphics.Color: {
         green: { a: 1, b: 0, g: 1, r: 0 },
         white: { a: 0, b: 1, g: 1, r: 1 },
         red: { a: 1, b: 0, g: 0, r: 1 },
         black: { a: 1, b: 0, g: 0, r: 0 }
     },
     com.badlogic.gdx.graphics.g2d.BitmapFont: {
         font: { file: test.fnt }
     },
     com.badlogic.gdx.scenes.scene2d.ui.Button$ButtonStyle: {
         style:{
             down:btnDown,up:btnUp
             },
     },
 }
文件资源位置:
【开源java游戏框架libgdx专题】-14-系统控件-Skin类【开源java游戏框架libgdx专题】-14-系统控件-Skin类
核心代码:
 package com.mygdx.skin;

 import com.badlogic.gdx.ApplicationAdapter;
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.graphics.GL20;
 import com.badlogic.gdx.scenes.scene2d.Stage;
 import com.badlogic.gdx.scenes.scene2d.ui.Button;
 import com.badlogic.gdx.scenes.scene2d.ui.Skin;
 /**
  * 使用skin
  * @author Jack(乐智)
  * @blog dtblog.cn
  * @qq 984137183
  */
 public class MainGame extends ApplicationAdapter {
     //声明skin对象
     private Skin skin;
     //声明按钮
     private Button button;
     //声明舞台
     private Stage stage;

     @Override
     public void create() {
         //实例化skin对象
         skin=new Skin(Gdx.files.internal("skin/test.json"));
         //实例化按钮
         button=new Button(skin.get("style",Button.ButtonStyle.class));
         //实例化舞台
         stage=new Stage();
         //添加按钮到舞台
         stage.addActor(button);
         //注册舞台监听
         Gdx.input.setInputProcessor(stage);

     }

     @Override
     public void render() {
         //设置屏幕背景黑色
         Gdx.gl.glClearColor(0, 0, 0, 0);
         //清屏
         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
         //更新舞台逻辑
         stage.act();
         //绘制舞台内容
         stage.draw();
     }

 }
执行效果:
【开源java游戏框架libgdx专题】-14-系统控件-Skin类
 

原文由博主 乐智 编辑撰写,版权归博主所有。

原文地址 http://www.dtblog.cn/1165.html 转载请注明出处!