首页 > 其他分享 >libgdx的基础讲解

libgdx的基础讲解

时间:2023-12-25 16:47:49浏览次数:39  
标签:badlogic gdx config libgdx 基础 讲解 import com public

今天讲解libgdx的示例代码知识
SpriteBatch 用于绘制 2D 图像
Texture 资源的实体类
music 长音乐如背景音乐
sound 短音乐,如一个物体触发的短时间音乐
代码:

package com.mygdx.game;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.utils.ScreenUtils;

public class MyGdxGame extends ApplicationAdapter {
	SpriteBatch batch;
	Texture img;
	
	@Override
	public void create () {
		batch = new SpriteBatch();
		img = new Texture("badlogic.jpg");
	}

	@Override
	public void render () {
		ScreenUtils.clear(1, 0, 0, 1);
		batch.begin();
		batch.draw(img, 0, 0);
		batch.end();
	}
	
	@Override
	public void dispose () {
		batch.dispose();
		img.dispose();
	}
}

以上代码描述:dispose 方法是用来关闭资源的,render 是每次刷新的时候干的动作,这个类就是单纯的展示一个图片。
主类:

package com.mygdx.game;

import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import com.mygdx.game.MyGdxGame;

// Please note that on macOS your application needs to be started with the -XstartOnFirstThread JVM argument
public class DesktopLauncher {
	public static void main (String[] arg) {
		Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
		config.setForegroundFPS(60);
		config.setTitle("My GDX Game");
		new Lwjgl3Application(new MyGdxGame(), config);
	}
}

以上代码描述,config.setForegroundFPS(60);设置每秒刷新的帧数,config.setTitle("My GDX Game");设置标题,这里并没有设置屏幕的长宽,因为它有默认的值


可以看到上面的assets为资源文件目录,而core为核心代码目录,学过gradle的应该都懂。相互的依赖都用api即可。
都说了,javaweb是java中最简单的入门阶段(也是市场最广的),但貌似也是最“无聊的”。
接下来我们换张图,就是简单的改一下img = new Texture("badlogic.jpg");
搞张图放到assets资源文件目录,然后改下路径即可。当然也要看一下图片的长宽,然后进行更改,不然的话图片展不开的,这里展示一下错误操作。

我们更据图片做一下长宽的更改:

	config.setWindowedMode(474,842);


然后就是Music。让我们打开游戏的时候发出音乐吧。
只有在前面声明一下Music music;
然后在create ()方法里面创建music对象music= Gdx.audio.newMusic(Gdx.files.internal("郭顶-凄美地.mp3"));
然后在每次刷新的render ()方法里面进行music.play();即可实现。

虽然你们感觉不到,但是我这里确实已经发出音乐了。
接下来谈论sound
也是一样的做法,在前面声明一下Sound sound;
然后在create ()方法里面创建sound对象Sound = Gdx.audio.newSound(Gdx.files.internal("drop.wav"));
然后在某个特殊的场景下发出这种声音,所以这个不应该放到render ()方法里面。
下一章开始讲解libgdx的精灵和相机

标签:badlogic,gdx,config,libgdx,基础,讲解,import,com,public
From: https://www.cnblogs.com/nanshaws/p/17926288.html

相关文章

  • 如何使用libgdx做游戏01---libgdx的安装
    一般来说使用这个工具做游戏的都是java开发者,这种技术在国外勉强算是必学的,而在国内却很少有这方面的知识。接下来,我将讲解如何安装libgdx,也算是简单的libgdx入门工具:idea、jdk17、gradle7.5.1及其以上第一步,下载gdx-setup.jar包下载地址:https://libgdx-nightlies.s3.amazonaw......
  • Oracle基础SQL整理:创建表空间、创建用户、赋予DBA权限、建表
    创建表空间CREATEtablespacefrdemodatafile'/tmp/frdemo.dbf'SIZE128mautoextendONNEXT100mmaxsize1024m;创建用户及绑定表空间CREATEUSERfruserIDENTIFIEDBYfinereportDEFAULTtablespacefrdemo;给用户赋予dba权限GRANTdbaTOfruser;创建表CREATETABLEt_o......
  • 【scikit-learn基础】--『监督学习』之 线性回归
    线性回归是一种用于连续型分布预测的机器学习算法。其基本思想是通过拟合一个线性函数来最小化样本数据和预测函数之间的误差。1.概述常见的线性回归模型就是:\(f(x)=w_0+w_1x_1+w_2x_2+...+w_nx_n\)这样的一个函数。其中\((w_1,w_2,...w_n)\)是模型的系数向量\(w_0\)是截......
  • 【练习】爬虫-基础1 - GlidedSky 源码参考!
    网上有很多大佬为了帮助渣渣爬虫提升,都有搭建爬虫练习平台网站,这种网站的好处是可以练习爬取,同时网上也有很多参考教程,尤其适合学习练手使用。爬虫练习网站,镀金的天空-GlidedSky,爬虫-基础1,爬取网页上的数据,计算求和。爬虫-基础1“爬虫的目标很简单,就是拿到想要的数据。这里有一个网......
  • JVM基础篇(五)-JVM结构-执行引擎
    执行引擎的概述执行引擎是Java虚拟机核心的组成部分之一,属于JVM的下层,里面包括解释器、及时编译器、垃圾回收器。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引......
  • 架构基础
    特点,本质软件架构简介抽象而言,架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是对物/信息的功能与形式元素之间的对应情况所做的分配,是对元素之间的关系以及元素同周边环境之间的关系所做的定义; 软件架构的核心价值,即是控制系统的复杂性,将核心业......
  • Java基础-Spring篇
    Spring框架的七大模块SpringCore:框架的最基础部分,提供IoC容器,对bean进行管理。SpringContext:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。SpringDAO:提供了JDBC的抽象层,还提供了声明性事务管理方法。SpringORM:提供了JPA、JDO、Hibernate......
  • Cesium基础入门教程
    Cesium中的坐标系以及坐标转换Cesium中常用的坐标Cesium中坐标转换经纬度坐标转换成世界坐标两种方式将经纬度转换成世界坐标1.直接转换varcartesian3=Cesium.Cartesian3.fromDegrees(lng,lat,height);2.借助ellipsoid对象,先转换成弧度再进行转换varcartograp......
  • java基础语法api之随机数的介绍以及案例应用
    一:概述在实际开发应用中,我们都会看到,有许多的场景中需要使用到随机不确定的数。在这时,我们就需要用到API中的Random类。二:具体说明<1>JDK_API帮助文档中的说明Random:-该类的实例用于生成随机数构造方法:-Random():创建一个新的随机数生成器成员方法-intnextInt(intbound):获......
  • 0基础学训练AIGC大模型,三个月成为AI领域的精英人才!
    近屿智能OJAC“AIGC星辰大海:大模型工程师与产品专家深度训练营”第五期正在火热学习中,期望转型成为AIGC大模型工程师或者产品经理的朋友们,可以抓紧时间联系我们报名第六期啦~ 别人教您使用AIGC产品,我们教您增量预训练和精调大模型和创造AI产品! 如果您正在考虑转型成为AIGC大模型......