(libgdx小结)照相机

来源:互联网 发布:java ee企业应用实战4 编辑:程序博客网 时间:2024/05/01 15:13

一、初始化方法及常见API

camera = new OrthographicCamera();camera.setToOrtho(false, 480, 800);// 设置视角举行的大小camera.position.set(240, 400, 0);// 第一个是相机视角中心坐标camera.update();// 重新计算camera的正投影和视图矩阵,其实就是移动相机。batch.setProjectionMatrix(camera.combined);// conbined:// 合并后的投影与视图矩阵。(这是一个 Matrix4// 的矩阵)。

camera.translate(3, 0, 0);//这3句千万别漏了camera.update();batch.setProjectionMatrix(camera.combined);


二、应用举例

单击屏幕,背景移动。其实就是照相机移动了


package com.example.groupactiontest;import com.badlogic.gdx.ApplicationListener;import com.badlogic.gdx.Gdx;import com.badlogic.gdx.InputProcessor;import com.badlogic.gdx.graphics.Camera;import com.badlogic.gdx.graphics.GL10;import com.badlogic.gdx.graphics.OrthographicCamera;import com.badlogic.gdx.graphics.Texture;import com.badlogic.gdx.graphics.g2d.SpriteBatch;public class MyGame implements ApplicationListener {OrthographicCamera camera;SpriteBatch batch;Texture texture;InputProcessor inputProcessor;@Overridepublic void create() {batch = new SpriteBatch();texture = new Texture(Gdx.files.internal("image.jpg"));camera = new OrthographicCamera();camera.setToOrtho(false, 480, 800);// 设置视角举行的大小camera.position.set(240, 400, 0);// 第一个是相机视角中心坐标camera.update();// 重新计算camera的正投影和视图矩阵,其实就是移动相机。batch.setProjectionMatrix(camera.combined);// conbined:// 合并后的投影与视图矩阵。(这是一个 Matrix4// 的矩阵)。/** * 给屏幕注册监听 * 移动照相机 */inputProcessor = new InputProcessor() {@Overridepublic boolean touchUp(int arg0, int arg1, int arg2, int arg3) {// TODO Auto-generated method stubreturn false;}@Overridepublic boolean touchDragged(int arg0, int arg1, int arg2) {// TODO Auto-generated method stubreturn false;}@Overridepublic boolean touchDown(int arg0, int arg1, int arg2, int arg3) {camera.translate(3, 0, 0);//这3句千万别漏了camera.update();batch.setProjectionMatrix(camera.combined);return false;}@Overridepublic boolean scrolled(int arg0) {// TODO Auto-generated method stubreturn false;}@Overridepublic boolean mouseMoved(int arg0, int arg1) {// TODO Auto-generated method stubreturn false;}@Overridepublic boolean keyUp(int arg0) {// TODO Auto-generated method stubreturn false;}@Overridepublic boolean keyTyped(char arg0) {// TODO Auto-generated method stubreturn false;}@Overridepublic boolean keyDown(int arg0) {// TODO Auto-generated method stubreturn false;}};Gdx.input.setInputProcessor(inputProcessor);}@Overridepublic void dispose() {// TODO Auto-generated method stub}@Overridepublic void pause() {// TODO Auto-generated method stub}@Overridepublic void render() {Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);batch.begin();batch.draw(texture, 0, 0, 480, 320);// 将照相机中看到的东西画出来batch.end();}@Overridepublic void resize(int arg0, int arg1) {// TODO Auto-generated method stub}@Overridepublic void resume() {// TODO Auto-generated method stub}}


三、效果图



四、源码下载

http://download.csdn.net/detail/caihongshijie6/7009667


0 0
原创粉丝点击