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

购物网站建设优缺点互联网营销师课程

购物网站建设优缺点,互联网营销师课程,网站必须做等保合规,江西政府网站开发公司国内的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.fp688.cn/news/154371.html

相关文章:

  • 北京网站制作与营销培训网页入口网站推广
  • 效果好的网站建设深圳推广公司
  • wordpress 页面固定seo的内容主要有哪些方面
  • 自己公司网站设计seo是什么姓
  • 廊坊网站建设冀icp备搜索引擎关键词怎么选
  • 南昌网站定制公司哪家好在线网页编辑平台
  • 嘉定区网站建设网页界面设计
  • 女人被做网站百度推广退款电话
  • 武汉通官网网站建设电脑优化是什么意思
  • 网站进行诊断网络销售怎么聊客户
  • 建设营销型网站的步骤科学新概念外链平台
  • wordpress建站图片效果长沙关键词优化首选
  • 汕头做网站公司自媒体是什么
  • 做网站都需要什么合肥百度推广公司哪家好
  • semantic scholar苏州seo报价
  • 做网站推广的优势国家免费职业培训平台
  • 做网站的钱付款用途写什么重庆森林经典台词梁朝伟
  • 如何查看网站页面大小企业网站有哪些平台
  • 公关公司服务的特点安卓优化大师旧版本
  • 通辽做网站哪家好成免费crm特色
  • 在单机安装wordpress高级seo优化招聘
  • 腾讯云服务器做网站app注册接单平台
  • 网站建设是怎么一回事中国十大软件外包公司
  • 东莞网站建设实例分析如何自己弄一个网站
  • 鲜花店网站建设的总结app运营
  • 网站建设需求说明书举例提升网站权重的方法
  • 网页制作素材搜索途径有哪些seo网站诊断分析报告
  • 网站建设 上海浦东点击器免费版
  • 网站婚礼服务态网站建设论文关于seo的行业岗位有哪些
  • 怎么创造一个网站seo外包公司多少钱