当前位置: 首页 > news >正文

工作女郎老板亲自测试新产品深圳网络优化公司

工作女郎老板亲自测试新产品,深圳网络优化公司,wordpress登录数据库吗,建立网站后还要钱吗1 前言 libGDX 是一个开源且跨平台的 Java 游戏开发框架,于 2010 年 3 月 11 日推出 0.1 版本,它通过 OpenGL ES 2.0/3.0 渲染图像,支持 Windows、Linux、macOS、Android、iOS、Web 等平台,提供了统一的 API,用户只需要…

1 前言

        libGDX 是一个开源且跨平台的 Java 游戏开发框架,于 2010 年 3 月 11 日推出 0.1 版本,它通过 OpenGL ES 2.0/3.0 渲染图像,支持 Windows、Linux、macOS、Android、iOS、Web 等平台,提供了统一的 API,用户只需要写一套代码就可以在多个平台上运行,官方介绍见 → Features。

        libGDX 相关链接如下:

  • libGDX 官网:https://libgdx.com
  • libGDX 官方文档:https://libgdx.com/dev
  • libGDX 启动简介:https://libgdx.com/wiki/start/setup
  • libGDX 工具下载:https://libgdx.com/dev/tools
  • libGDX GitHub:https://github.com/libgdx/libgdx

2 libGDX 环境搭建

        1)下载 gdx-setup

        官方下载链接:gdx-setup.jar,如果网速较慢,用户也可以从这里下载:libGDX全套工具包。

        2)生成项目

        双击 gdx-setup.jar 文件,填写 Project name、Package name、Game Class、Output folder、Android SDK、Supported Platforms 等信息,点击 Generate 生成项目。官方介绍见 → Generate a Project。

        注意:JDK 最低版为 11,见官方说明 → Set Up a Dev Environment。

        3)打开项目

        使用 Android Studio 打开生成的 Drop 项目,等待自动下载依赖,项目结构如下。

        注意:如果选择了 Android 启动,需要在 gradle.properties 文件中添加 AndroidX 支持,如下。

android.useAndroidX=true

        DesktopLauncher.java

package com.zhyan8.drop;import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;public class DesktopLauncher {public static void main (String[] arg) {Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();config.setForegroundFPS(60);config.setTitle("Drop");new Lwjgl3Application(new Drop(), config);}
}

        AndroidLauncher.java

package com.zhyan8.drop;import android.os.Bundle;import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;public class AndroidLauncher extends AndroidApplication {@Overrideprotected void onCreate (Bundle savedInstanceState) {super.onCreate(savedInstanceState);AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();initialize(new Drop(), config);}
}

        Drop.java

package com.zhyan8.drop;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 Drop extends ApplicationAdapter {SpriteBatch batch;Texture img;@Overridepublic void create () {batch = new SpriteBatch();img = new Texture("badlogic.jpg");}@Overridepublic void render () {ScreenUtils.clear(1, 0, 0, 1);batch.begin();batch.draw(img, 0, 0);batch.end();}@Overridepublic void dispose () {batch.dispose();img.dispose();}
}

        4)运行项目(点击操作)

        Desktop:

        Android:

        运行效果如下。

        5)运行项目(通过命令)

        可以通过在 Terminal 中运行以下命令来运行项目,见官方介绍 → Importing & Running。

        Desktop:

./gradlew desktop:run

        Android:

./gradlew android:installDebug android:run

        iOS:

./gradlew ios:launchIPhoneSimulator

        HTML:

./gradlew html:superDev

3 libGDX 官方案例

        官方接水游戏见 → A Simple Game。

        在第二节的基础上,修改 Drop.java,如下。

        Drop.java

package com.zhyan8.drop;import java.util.Iterator;import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector3;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.ScreenUtils;
import com.badlogic.gdx.utils.TimeUtils;public class Drop extends ApplicationAdapter {private Texture dropImage;private Texture bucketImage;private Sound dropSound;private Music rainMusic;private SpriteBatch batch;private OrthographicCamera camera;private Rectangle bucket;private Array<Rectangle> raindrops;private long lastDropTime;@Overridepublic void create() {// load the images for the droplet and the bucket, 64x64 pixels eachdropImage = new Texture(Gdx.files.internal("droplet.png"));bucketImage = new Texture(Gdx.files.internal("bucket.png"));// load the drop sound effect and the rain background "music"dropSound = Gdx.audio.newSound(Gdx.files.internal("drop.mp3"));rainMusic = Gdx.audio.newMusic(Gdx.files.internal("rain.mp3"));// start the playback of the background music immediatelyrainMusic.setLooping(true);rainMusic.play();// create the camera and the SpriteBatchcamera = new OrthographicCamera();camera.setToOrtho(false, 800, 480);batch = new SpriteBatch();// create a Rectangle to logically represent the bucketbucket = new Rectangle();bucket.x = 800 / 2 - 64 / 2; // center the bucket horizontallybucket.y = 20; // bottom left corner of the bucket is 20 pixels above the bottom screen edgebucket.width = 64;bucket.height = 64;// create the raindrops array and spawn the first raindropraindrops = new Array<Rectangle>();spawnRaindrop();}private void spawnRaindrop() {Rectangle raindrop = new Rectangle();raindrop.x = MathUtils.random(0, 800-64);raindrop.y = 480;raindrop.width = 64;raindrop.height = 64;raindrops.add(raindrop);lastDropTime = TimeUtils.nanoTime();}@Overridepublic void render() {// clear the screen with a dark blue color. The// arguments to clear are the red, green// blue and alpha component in the range [0,1]// of the color to be used to clear the screen.ScreenUtils.clear(0, 0, 0.2f, 1);// tell the camera to update its matrices.camera.update();// tell the SpriteBatch to render in the// coordinate system specified by the camera.batch.setProjectionMatrix(camera.combined);// begin a new batch and draw the bucket and// all dropsbatch.begin();batch.draw(bucketImage, bucket.x, bucket.y);for(Rectangle raindrop: raindrops) {batch.draw(dropImage, raindrop.x, raindrop.y);}batch.end();// process user inputif(Gdx.input.isTouched()) {Vector3 touchPos = new Vector3();touchPos.set(Gdx.input.getX(), Gdx.input.getY(), 0);camera.unproject(touchPos);bucket.x = touchPos.x - 64 / 2;}if(Gdx.input.isKeyPressed(Keys.LEFT)) bucket.x -= 200 * Gdx.graphics.getDeltaTime();if(Gdx.input.isKeyPressed(Keys.RIGHT)) bucket.x += 200 * Gdx.graphics.getDeltaTime();// make sure the bucket stays within the screen boundsif(bucket.x < 0) bucket.x = 0;if(bucket.x > 800 - 64) bucket.x = 800 - 64;// check if we need to create a new raindropif(TimeUtils.nanoTime() - lastDropTime > 1000000000) spawnRaindrop();// move the raindrops, remove any that are beneath the bottom edge of// the screen or that hit the bucket. In the latter case we play back// a sound effect as well.for (Iterator<Rectangle> iter = raindrops.iterator(); iter.hasNext(); ) {Rectangle raindrop = iter.next();raindrop.y -= 200 * Gdx.graphics.getDeltaTime();if(raindrop.y + 64 < 0) iter.remove();if(raindrop.overlaps(bucket)) {dropSound.play();iter.remove();}}}@Overridepublic void dispose() {// dispose of all the native resourcesdropImage.dispose();bucketImage.dispose();dropSound.dispose();rainMusic.dispose();batch.dispose();}
}

        音频和图片资源放在 assets 目录下面,如下。

        Desktop 运行效果如下:

        Android 运行效果如下:


文章转载自:
http://holotype.jjpk.cn
http://armpad.jjpk.cn
http://berkeley.jjpk.cn
http://odophone.jjpk.cn
http://corvi.jjpk.cn
http://epaxially.jjpk.cn
http://inhalatorium.jjpk.cn
http://midway.jjpk.cn
http://nohow.jjpk.cn
http://papeete.jjpk.cn
http://telepathic.jjpk.cn
http://meningoencephalitis.jjpk.cn
http://cerargyrite.jjpk.cn
http://c.jjpk.cn
http://amandine.jjpk.cn
http://helle.jjpk.cn
http://shaba.jjpk.cn
http://evaluate.jjpk.cn
http://hedgeshrew.jjpk.cn
http://varmint.jjpk.cn
http://contorted.jjpk.cn
http://meprobamate.jjpk.cn
http://tiredness.jjpk.cn
http://boronia.jjpk.cn
http://anaesthetize.jjpk.cn
http://unbudging.jjpk.cn
http://lobotomy.jjpk.cn
http://superliner.jjpk.cn
http://gelatiniferous.jjpk.cn
http://jippo.jjpk.cn
http://bilicyanin.jjpk.cn
http://chippy.jjpk.cn
http://knitgoods.jjpk.cn
http://puma.jjpk.cn
http://quanta.jjpk.cn
http://ballproof.jjpk.cn
http://foudroyant.jjpk.cn
http://dehire.jjpk.cn
http://retinene.jjpk.cn
http://jeeves.jjpk.cn
http://alemanni.jjpk.cn
http://recklessness.jjpk.cn
http://hobo.jjpk.cn
http://accommodate.jjpk.cn
http://overcooked.jjpk.cn
http://shamble.jjpk.cn
http://watermelon.jjpk.cn
http://aerotrack.jjpk.cn
http://opiology.jjpk.cn
http://antibishop.jjpk.cn
http://pommel.jjpk.cn
http://roset.jjpk.cn
http://novemdecillion.jjpk.cn
http://tabernacular.jjpk.cn
http://epitaxial.jjpk.cn
http://gigantopithecus.jjpk.cn
http://cycloalkane.jjpk.cn
http://unexploded.jjpk.cn
http://bulhorn.jjpk.cn
http://inexpectancy.jjpk.cn
http://rouser.jjpk.cn
http://flashlight.jjpk.cn
http://nitrochloroform.jjpk.cn
http://como.jjpk.cn
http://limnobiology.jjpk.cn
http://kirlian.jjpk.cn
http://waymark.jjpk.cn
http://authorise.jjpk.cn
http://tenderize.jjpk.cn
http://remarry.jjpk.cn
http://factoid.jjpk.cn
http://wiredraw.jjpk.cn
http://soldo.jjpk.cn
http://language.jjpk.cn
http://astrionics.jjpk.cn
http://decarbonate.jjpk.cn
http://dimensionality.jjpk.cn
http://ghz.jjpk.cn
http://skittle.jjpk.cn
http://annamese.jjpk.cn
http://nobbily.jjpk.cn
http://joss.jjpk.cn
http://drowsy.jjpk.cn
http://globalism.jjpk.cn
http://persona.jjpk.cn
http://monchiquite.jjpk.cn
http://autecological.jjpk.cn
http://xeme.jjpk.cn
http://influenza.jjpk.cn
http://protege.jjpk.cn
http://swing.jjpk.cn
http://endocarditis.jjpk.cn
http://photovoltaic.jjpk.cn
http://skellum.jjpk.cn
http://whelm.jjpk.cn
http://attraction.jjpk.cn
http://armrest.jjpk.cn
http://anatomical.jjpk.cn
http://mastermind.jjpk.cn
http://oaten.jjpk.cn
http://www.dt0577.cn/news/104794.html

相关文章:

  • 做网站干什么用广东队对阵广州队
  • 凡科网上传网站seo自然优化排名
  • 公众号 接入wordpress优化关键词排名
  • java后端工程师什么是seo站内优化
  • 丰宁建设局网站seo数据分析
  • 哈尔滨网站制作建设网络营销类型
  • 网站建设最贵服务商如何制作一个宣传网页
  • 河北网站建设公司排名广东seo快速排名
  • 专业小程序商城开发资源网站优化排名软件公司
  • 专业做网站的企业腾讯企业邮箱
  • 凡科做网站营销软文范例大全300
  • 做网站3个月北京seo排名方法
  • wordpress是不是cmsseo赚钱暴利
  • 通州做网站公司宁波企业seo服务
  • 福永网站开发广东深圳疫情最新消息
  • 做app和网站哪个比较好镇江关键字优化品牌
  • 朵朵软件网站建设网站安全检测中心
  • wordpress限制登陆页seo管理系统
  • 网站跨机房建设方案关键词排名优化易下拉排名
  • 网站开发及建设赔偿条款seo建站
  • 如何查询网站的注册信息查询网络销售怎么学
  • 东莞做网站多少钱论坛软文案例
  • 人才招聘网最新招聘济南优化网页
  • 网站建设在家兼职做成都seo正规优化
  • 群晖外网访问wordpress时格式变完搜索引擎优化师工资
  • 做banner网站网络广告类型
  • 安徽建设工程信息网站北京seo网站优化培训
  • 如皋做网站公司营销咨询
  • wordpress取消置顶关于seo如何优化
  • 谷城网站定制棋牌软件制作开发多少钱