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

西丽网站建设设计实时新闻

西丽网站建设设计,实时新闻,企业网站seo怎么做,商贸有限公司经营范围国内的libGDX文章很少,特别是libGDX实现灯光效果,所以就开始总结灯光效果的实现 绿色的框 是为了方便看到Body位置,使用Box2DDebugRenderer渲染的 工欲善其事,必先利其器,工具集合 gdx-setup.jar 1. 从libGDX官网下载…

国内的libGDX文章很少,特别是libGDX实现灯光效果,所以就开始总结灯光效果的实现

效果图.png

绿色的框 是为了方便看到Body位置,使用Box2DDebugRenderer渲染的

工欲善其事,必先利其器,工具集合
gdx-setup.jar

1. 从libGDX官网下载项目生成工具

https://libgdx.com/wiki/start/setup

2.配置项目

setup配置.png
Output folder和Android SDK设置自己的,扩展库选择Box2dBox2dlights,然后生成项目

3.配置ApplicationConfiguration,初始化ApplicationListener

由于是演示项目,所以直接使用系统创建好的Activity实现类

public class AndroidLauncher extends AndroidApplication {@Overrideprotected void onCreate (Bundle savedInstanceState) {super.onCreate(savedInstanceState);AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();config.a = 8;config.r = 8;config.g = 8;config.b = 8;initialize(new MyGdxGame(), config);}
}

4.创建物理模拟环境

public class MyGdxGame extends ApplicationAdapter {private World mWorld;private Box2DDebugRenderer mWorldDebugger;private ArrayList bodys = new ArrayList<Body>();private OrthographicCamera camera;private ExtendViewport viewport;private float accumulator = 0f;private RayHandler rayHandler;private Body body;private static final float TIME_STEP = 1 / 120f;private static final int VELOCITY_ITERATIONS = 6;private static final int POSITION_ITERATIONS = 2;private int viewportWidth;private int viewportHeight;@Overridepublic void create() {super.create();// 1.创建worldmWorld = new World(new Vector2(0f, -10f), true);// 2.创建窗口大小,给camera用viewportWidth = Gdx.graphics.getWidth();viewportHeight = Gdx.graphics.getHeight();// 3.初始化正交投影相机initCamera();// 这个是为了查看bodymWorldDebugger = new Box2DDebugRenderer();// 创建Body,为了让点光源依附于他(可以不设置,点光源可以单独存在)makeBody();// 创建灯光处理(核心)rayHandler = new RayHandler(mWorld);makePointLight();}private void makePointLight() {// 创建点光源 // rays=100 越大约逼真,但是会降低性能// distance=150 光照扩展的范围PointLight light = new PointLight(rayHandler, 100, Color.RED, 150f, 0, 0);light.setSoftnessLength(0); //关闭软阴影light.attachToBody(body, 0.5f, 0.5f);}/*** 初始化相机 视口大小设置为屏幕大小* 相机位置设置到屏幕中心* 这样设置是为了好理解,可以直接让模拟物体设置在哪里就显示在哪里* 这样就不用再去想物体和屏幕坐标的映射关系*/private void initCamera() {camera = new OrthographicCamera(viewportWidth,viewportHeight);camera.position.x = Gdx.graphics.getWidth() / 2f;camera.position.y = Gdx.graphics.getHeight() / 2f;camera.update();}/*** 创建body * 一个半径50的圆形,为了看清楚也可以设置大一点*/private void makeBody() {CircleShape ballShape = new CircleShape();ballShape.setRadius(50f);FixtureDef fixtureDef = new FixtureDef();fixtureDef.shape = ballShape;BodyDef bodyDef = new BodyDef();bodyDef.type = BodyDef.BodyType.StaticBody;// 这里也是把这个圆形放到屏幕中心了(圆形是以圆心为绘制起点画圆)bodyDef.position.x = viewportWidth / 2f;bodyDef.position.y = viewportHeight / 2f;body = mWorld.createBody(bodyDef);body.createFixture(fixtureDef);ballShape.dispose();}}

5.render

public class MyGdxGame extends ApplicationAdapter {@Overridepublic void render() {super.render();// 1.更新相机camera.update();// 2.清理绘制区域ScreenUtils.clear(Color.CLEAR);Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);// 3.时间步模拟(也可以按照官网的做固定时间步 1/60)doPhysicsStep(Gdx.graphics.getDeltaTime());// 4.给rayHandler设置matrixrayHandler.setCombinedMatrix(camera);// 5.渲染灯光rayHandler.updateAndRender();// 6.渲染body(非必须)mWorldDebugger.render(mWorld, camera.combined);}private void doPhysicsStep(float deltaTime) {// fixed time step// max frame time to avoid spiral of death (on slow devices)float frameTime = Math.min(deltaTime, 0.25f);accumulator += frameTime;while (accumulator >= TIME_STEP) {mWorld.step(TIME_STEP,VELOCITY_ITERATIONS,POSITION_ITERATIONS);accumulator -= TIME_STEP;}}
}

这样一个点光源就做好了,我的demo是让他附着在Body上,这样Body移动,他就可以跟着动

http://www.dinnco.com/news/17355.html

相关文章:

  • 自学做网站多长时间批量关键词调排名软件
  • 大淘客可以做几个网站百度快速收录3元一条
  • 做电商需要知道的几个网站百度文库账号登录入口
  • 晋江建设局网站html网页制作代码大全
  • 慈利网站开发微信app小程序开发
  • 国外网站注册免费手游推广平台
  • 怎样做php网站seo顾问服务四川
  • 巨野有做网站的公司吗中国十大网络销售公司
  • 黄酒的电商网页设计网站seo顾问服务福建
  • 如何做一款服装网站今天新闻联播
  • 企业网站seo成功案例app联盟推广平台
  • 优秀个人网站设计模板seo网络搜索引擎优化
  • wordpress 分类 排序抚州seo排名
  • 兰州网站建设公司排名怎么制作属于自己的网址
  • 798艺术区个人拍照图片及价格债务优化是什么意思
  • 网站建设日程表表格中国网站建设公司前十名
  • 搞一个卖东西的网站怎么做惠州网站推广排名
  • 云南人才网招聘网官网seo外链工具
  • 镇江企业做网站互联网广告优化
  • 南昌哪家网站开发公司好培训网址
  • 东莞手机网站建设怎么选收录情况
  • 食品网站应该怎么做三生网络营销靠谱吗
  • 做网站的公司那家好站长工具国产
  • 宝鸡seo千度seo
  • 如何做网站活动qq推广
  • 专业上海网站建设公司自媒体平台收益排行榜
  • 网站建设dede模板免费广州商务网站建设
  • 大良营销网站建设案例一个新品牌如何推广
  • 有什么关于网站建设实例的书app拉新推广平台渠道商
  • 源码网站开发制作网页代码大全