libgdx 如何判断网络是否连通网络

请选择工作地点
热门城市全部城市
呼和浩特市
鄂尔多斯市
呼伦贝尔市
巴彦淖尔市
乌兰察布市
锡林郭勒盟
齐齐哈尔市
神农架林区
西双版纳州
日喀则地区
乌鲁木齐市
克拉玛依市
吐鲁番地区
阿克苏地区
阿勒泰地区
图木舒克市
花地玛堂区
圣安多尼堂区
地区导航:
深圳市腾中电子有限公司
所属行业:
公司地址:暂无
公司规模:100-499人
libGDX工程师
深圳/南山区
招聘 若干 人
更新时间:
温馨提示:带 * 号的为必填项
1、具有良好的沟通能力和领悟能力,能够主动与团队的其他同事进行沟通,具有强烈的进取心、求知欲及;2、具有Android平台游戏开发经验,有过使用libgdx开发过游戏者优先;3、熟悉算法思想,有较强的解决问题的能力,对OOD/OOP有深刻的理解;4、JAVA编程、可使用libgdx进行游戏开发,并将游戏项目移植到android平台;5、熟悉游戏动画,场景管理、特效、换装、战斗等开发原理;6、有使用libgdx引擎开发成功上线的项目。
您可能对以下职位感兴趣:
手机硬件工程师
深圳/南山区
射频工程师(工作地马尾新大陆科技园)
福州/马尾区
硬件工程师(应届)
杭州/滨江区
射频工程师(应届储备)
杭州/滨江区
硬件工程师
杭州/滨江区
急聘企业:
2016, All Rights Reserved. 中文版权所有-OFweek人才网()<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&& & 官方文档的部分解释:& & Preferences are a simple way to store small data for your application, e.g. user settings, small game state saves and so on. Preferences work like a hash map, using strings as keys, and various primitive types as values. Preferences are also the only way to date to write persistent data when your application is run in the browser.& & Preferences非常适合用于为你的应用存储一些数据量较小的数据。它类&#20284;于一个HashMap。是一种key-value的形式& & On Android, the system's SharedPreferences class is used. This means preferences will survive app updates, but are deleted when the app is uninstalled.& & 在android平台下,Android系统的SharedPreferences将会被使用(这也是为什么libgdx中的Preferences的使用会跟Android原生系统中的Preferences的用法那么像)。update的时候,preferenceszhogn的数据会保存,但是当删除app的时候后,其所对应的数据也会被删除。& & 一、初始化及常用的APIPreferences prefs = Gdx.app.getPreferences("My Preferences");//获取名为My preferences的Preferences
prefs.putString("name", "Donald Duck");//往Preferences里面插数据
prefs.flush();//将数据冲刷进去(重要)
String name = prefs.getString("name","no name stored");//获取key为name的数据,默认值是no name stored& & 二、应用举例package com.example.import com.badlogic.gdx.ApplicationLimport com.badlogic.gdx.Gimport com.badlogic.gdx.Pimport com.badlogic.gdx.graphics.GL10;public class MyGame implements ApplicationListener {
@Override public void create() {
Preferences prefs = Gdx.app.getPreferences("My Preferences");//获取名为My preferences的Preferences
prefs.putString("name", "Donald Duck");//往Preferences里面插数据
prefs.flush();//将数据冲刷进去(重要)
String name = prefs.getString("name","no name stored");//获取key为name的数据,默认值是no name stored
System.out.println("---------&name:" + name);
prefs.putBoolean("soundOn", true);
prefs.putInteger("highscore", 10);
prefs.flush(); } @Override public void dispose() {
// TODO Auto-generated method stub } @Override public void pause() {
// TODO Auto-generated method stub } @Override public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); } @Override public void resize(int arg0, int arg1) {
// TODO Auto-generated method stub } @Override public void resume() {
// TODO Auto-generated method stub }}& & 三、源码下载& & http://download.csdn.net/detail/caihongshijie6/7039945
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
论文写作技巧
上一篇:下一篇:
相关经验教程Libgdx事件查询(Event Polling)2种方式
6G下载网给大家介绍Libgdx事件查询(Event Polling)2种方式,希望能给大家提供帮助。
做游戏的最重要的是要与用户有交互,怎样与用户交互Ligdx提供了2种方式。
Libgdx事件查询(Event Polling)
这种方式主要是Libgdx主动查询当前的状态,通过这种方式我们可以查询键盘输入,鼠标事件,加速器等状态
事实上主动查询事件是在render()方法中调用,意味每一帧我们都会来查询事件状态。
在Libgdx上我们可以获得屏幕点击坐标 Gdx.input.getX() 和 Gdx.input.getY(),注意这时获取的坐标为Touch坐标,我们要通过函数camera.unproject()将其转换为World坐标。我们在查阅文档时unproject方法为将screen坐标转换为World坐标,其实在unproject方法中是先讲Touch坐标转换为Screen坐标再转换为World坐标。
其实有些设备是不支持一些输入的,比如desktop工程就不支持加速器,这时我们可以先通过下面方法来查询设备是否可用,然后再处理
Gdx.input.isPeripheralAvailable(Peripheral.Accelerometer); &Gdx.input.pass); &Gdx.input.isPeripheralAvailable(Peripheral.HardwareKeyboard); &Gdx.input.isPeripheralAvailable(Peripheral.MultitouchScreen); &Gdx.input.isPeripheralAvailable(Peripheral.OnscreenKeyboard); &Gdx.input.isPeripheralAvailable(Peripheral.Vibrator);&
下面是一些测试代码来帮助大家理解
代码如下:
private&static&final&float&scene_width&=&640f; &&&&&private&static&final&float&scene_height&=&480f; &&&&&&SpriteBatch& &&&&&BitmapFont& &&&&&&@Override&&&&&public&void&create()&{ &&&&&&&&&batch&=&new&SpriteBatch(); &&&&&&&&&font&=&new&BitmapFont(); &&&&&} &&&&&&@Override&&&&&public&void&render()&{ &&&&&&&&&Gdx.gl.glClearColor(0.39f,&0.58f,&0.92f,&1.0f); &&&&&&&&&Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); &&&&&&&&&&batch.begin(); &&&&&&&&&&&&&&&&&&&int&mouseX&=&Gdx.input.getX(); &&&&&&&&&int&mouseY&=&Gdx.input.getY(); &&&&&&&&&boolean&leftPressed&=&Gdx.input.isButtonPressed(Buttons.LEFT);&&&&&&&&&&boolean&rightPressed&=&Gdx.input.isButtonPressed(Buttons.RIGHT);&&&&&&&&&&boolean&middlePressed&=&Gdx.input.isButtonPressed(Buttons.MIDDLE);&&&&&&&&&&&font.draw(batch,&&Mouse/Touch:&x=&&+&mouseX&+&&&&y=&&+&mouseY,&20.0f, &&&&&&&&&&&&&&&&&scene_height&-&20.0f); &&&&&&&&&font.draw(batch,&leftPressed&?&&Mouse&left&button&pressed&&&&&&&&&&&&&&&&&&:&&Mouse&left&button&not&pressed&,&20.0f,&scene_height&-&50.0f); &&&&&&&&&font.draw(batch,&rightPressed&?&&Mouse&right&button&pressed&&&&&&&&&&&&&&&&&&:&&Mouse&right&button&not&pressed&,&20.0f,&scene_height&-&80.0f); &&&&&&&&&font.draw(batch,&middlePressed&?&&Mouse&middle&button&pressed&&&&&&&&&&&&&&&&&&:&&Mouse&middle&button&not&pressed&,&20.0f, &&&&&&&&&&&&&&&&&scene_height&-&110.0f); &&&&&&&&&&boolean&wPressed&=&Gdx.input.isKeyPressed(Keys.W); &&&&&&&&&boolean&aPressed&=&Gdx.input.isKeyPressed(Keys.A); &&&&&&&&&boolean&sPressed&=&Gdx.input.isKeyPressed(Keys.S); &&&&&&&&&boolean&dPressed&=&Gdx.input.isKeyPressed(Keys.D); &&&&&&&&&&&&&&&&&&&font.draw(batch,&wPressed&?&&W&is&pressed&&:&&W&is&not&pressed&,&20.0f, &&&&&&&&&&&&&&&&&scene_height&-&160.0f); &&&&&&&&&font.draw(batch,&aPressed&?&&A&is&pressed&&:&&A&is&not&pressed&,&20.0f, &&&&&&&&&&&&&&&&&scene_height&-&190.0f); &&&&&&&&&font.draw(batch,&sPressed&?&&S&is&pressed&&:&&S&is&not&pressed&,&20.0f, &&&&&&&&&&&&&&&&&scene_height&-&220.0f); &&&&&&&&&font.draw(batch,&dPressed&?&&D&is&pressed&&:&&D&is&not&pressed&,&20.0f, &&&&&&&&&&&&&&&&&scene_height&-&250.0f); &&&&&&&&&&batch.end(); &&&&&} &&&&&&@Override&&&&&public&void&dispose()&{ &&&&&&&&&batch.dispose(); &&&&&&&&&font.dispose(); &&&&&}&
测试结果,其实移动鼠标就会发现Touch的坐标原点是在左上角
Libgdx事件监听
上面介绍的方法是主动查询,那么接下来介绍的这种方法可以说是事件监听,是被动触发。
InputProcessor用于接听键盘和鼠标输入。要想Libgdx监听它,需要使用setInputProcessor(InputProcessor)来注册,之后再render()方法中即每一帧中自动监听调用。
&&&public&static&final&int&MESSAGE_MAX&=&10; &&&&&&private&Array&String&& &&&&&private&BitmapFont& &&&&&SpriteBatch& &&&&&InputProcessorEvent&processorE &&&&&&@Override&&&&&public&void&create()&{ &&&&&&&&&batch&=&new&SpriteBatch(); &&&&&&&&&font&=&new&BitmapFont(); &&&&&&&&&messages&=&new&Array&String&(); &&&&&&&&&&processorEvent&=&new&InputProcessorEvent(); &&&&&&&&&Gdx.input.setInputProcessor(processorEvent);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Gdx.input.setCatchBackKey(true); &&&&&&&&&Gdx.input.setCatchMenuKey(true); &&&&&} &&&&&&@Override&&&&&public&void&render()&{ &&&&&&&&&Gdx.gl.glClearColor(0.39f,&0.58f,&0.92f,&1.0f); &&&&&&&&&Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); &&&&&&&&&&batch.begin(); &&&&&&&&&for&(int&i&=&0;&i&&&messages.&++i)&{ &&&&&&&&&&&&&font.draw(batch,&messages.get(i),&20.0f,&480&-&40.0f&*&(i&+&1)); &&&&&&&&&} &&&&&&&&&batch.end(); &&&&&} &&&&&&@Override&&&&&public&void&dispose()&{ &&&&&&&&&batch.dispose(); &&&&&&&&&font.dispose(); &&&&&} &&&&&&class&InputProcessorEvent&implements&InputProcessor&{ &&&&&&&&&&@Override&&&&&&&&&public&boolean&keyDown(int&keycode)&{ &&&&&&&&&&&&&addMessage(&keyDown:&keycode(&&+&keycode&+&&)&); &&&&&&&&&&&&&&if&(keycode&==&Keys.BACK)&{ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&else&if&(keycode&==&Keys.MENU)&{ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&} &&&&&&&&&&&&&&return&true;&&&&&&&&&&&} &&&&&&&&&&@Override&&&&&&&&&public&boolean&keyUp(int&keycode)&{ &&&&&&&&&&&&&addMessage(&keyUp:&keycode(&&+&keycode&+&&)&); &&&&&&&&&&&&&return&true; &&&&&&&&&} &&&&&&&&&&&@Override&&&&&&&&&&&&&public&boolean&keyTyped(char&character)&{&&&&&&&&&&&&&&&&&&&addMessage(&keyTyped:&character(&&+&character&+&&)&); &&&&&&&&&&&&&&&&&return&true; &&&&&&&&&&&&&} &&&&&&&&&&&&&&@Override&&&&&&&&&&&&&public&boolean&touchDown(int&screenX,&int&screenY,&int&pointer,&int&button)&{ &&&&&&&&&&&&&&&&&addMessage(&touchDown:&screenX(&&+&screenX&+&&)&screenY(&&+&screenY&+&&)&pointer(&&+&pointer&+&&)&button(&&+&button&+&&)&); &&&&&&&&&&&&&&&&&return&true; &&&&&&&&&&&&&} &&&&&&&&&&&&&&@Override&&&&&&&&&&&&&public&boolean&touchUp(int&screenX,&int&screenY,&int&pointer,&int&button)&{ &&&&&&&&&&&&&&&&&addMessage(&touchUp:&screenX(&&+&screenX&+&&)&screenY(&&+&screenY&+&&)&pointer(&&+&pointer&+&&)&button(&&+&button&+&&)&); &&&&&&&&&&&&&&&&&return&true; &&&&&&&&&&&&&} &&&&&&&&&&&&&&@Override&&&&&&&&&&&&&public&boolean&touchDragged(int&screenX,&int&screenY,&int&pointer)&{ &&&&&&&&&&&&&&&&&addMessage(&touchDragged:&screenX(&&+&screenX&+&&)&screenY(&&+&screenY&+&&)&pointer(&&+&pointer&+&&)&); &&&&&&&&&&&&&&&&&return&true; &&&&&&&&&&&&&} &&&&&&&&&&&&&&@Override&&&&&&&&&&&&&public&boolean&mouseMoved(int&screenX,&int&screenY)&{ &&&&&&&&&&&&&&&&&&return&true; &&&&&&&&&&&&&} &&&&&&&&&&&&&&@Override&&&&&&&&&&&&&public&boolean&scrolled(int&amount)&{ &&&&&&&&&&&&&&&&&addMessage(&scrolled:&amount(&&+&amount&+&&)&); &&&&&&&&&&&&&&&&&return&true; &&&&&&&&&&&&&} &&&&&&&&&&private&void&addMessage(String&message)&{ &&&&&&&&&&&&&messages.add(message&+&&time:&&&+&System.currentTimeMillis()); &&&&&&&&&&&&&&if&(messages.size&&&MESSAGE_MAX)&{ &&&&&&&&&&&&&&&&&messages.removeIndex(0); &&&&&&&&&&&&&} &&&&&&&&&} &&&&&}&
(责任编辑:6g下载网)
------分隔线----------------------------
暂无相关文章或软件
本站所有软件和资料均为软件作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵权,请联系站长QQ:
Copyright (C) g下载网().All Rights Reserved
黔ICP备号-2}

我要回帖

更多关于 如何判断网络是否连通 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信