SHARE
TWEET
Untitled
a guest
Sep 16th, 2014
170
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package screen.game;
- import com.badlogic.gdx.Gdx;
- import com.badlogic.gdx.Input.Keys;
- import com.badlogic.gdx.InputAdapter;
- import com.badlogic.gdx.InputMultiplexer;
- import com.badlogic.gdx.assets.AssetManager;
- import com.badlogic.gdx.graphics.GL20;
- import com.badlogic.gdx.graphics.Mesh;
- import com.badlogic.gdx.graphics.Texture;
- import com.badlogic.gdx.graphics.VertexAttribute;
- import com.badlogic.gdx.graphics.VertexAttributes.Usage;
- import com.badlogic.gdx.graphics.g2d.SpriteBatch;
- import com.badlogic.gdx.graphics.g3d.Material;
- import com.badlogic.gdx.graphics.g3d.attributes.TextureAttribute;
- import com.badlogic.gdx.graphics.g3d.shaders.DefaultShader;
- import com.badlogic.gdx.graphics.glutils.ShaderProgram;
- import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
- import com.badlogic.gdx.math.Matrix4;
- import phoenixgameclient.PhoenixGame;
- import screen.BaseScreen;
- import screen.menu.MenuScreen;
- /**
- *
- * @author Alex
- */
- public class FreeplayGameScreen extends BaseScreen {
- AssetManager assetManager;
- ShapeRenderer shapeRenderer;
- InputMultiplexer inputMultiplexer = new InputMultiplexer();
- private Mesh mesh;
- private ShaderProgram defaultShader;
- Matrix4 projectionMatrix;
- public FreeplayGameScreen(PhoenixGame game) {
- super(game);
- assetManager = game.getAssetManager();
- shapeRenderer = new ShapeRenderer();
- Gdx.input.setInputProcessor(inputMultiplexer);
- inputMultiplexer.addProcessor( new MyInputAdapter() );
- /*mesh = new Mesh(true, 3, 3,
- new VertexAttribute(Usage.Position, 3, "a_position"),
- new VertexAttribute(Usage.TextureCoordinates, 2, "a_texCoords")); */
- mesh = new Mesh(true, 3, 3,
- VertexAttribute.Position(),
- VertexAttribute.TexCoords(0));
- mesh.setVertices(new float[] { -0.5f, -0.5f, 0, 0, 1,
- 0.5f, -0.5f, 0, 1, 1,
- 0, 0.5f, 0, 0.5f, 0 });
- mesh.setIndices(new short[] { 0, 1, 2 });
- //defaultShader = new ShaderProgram(DefaultShader.getDefaultVertexShader(), DefaultShader.getDefaultFragmentShader());
- defaultShader = SpriteBatch.createDefaultShader();
- Material mat = new Material();
- mat.set(TextureAttribute.createDiffuse(assetManager.get("ground/ground.png", Texture.class)));
- projectionMatrix = new Matrix4(); // Create a Matrix4 that we will use for our projection matrix
- projectionMatrix.setToOrtho(-1, 1, -1, 1, 0, 1);
- }
- class MyInputAdapter extends InputAdapter {
- @Override
- public boolean scrolled(int amount) {
- return false;
- }
- }
- private void update(float delta) {
- game.setDeltaTime(delta);
- }
- @Override
- public void render(float delta) {
- update(delta);
- clearScreen();
- //Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
- //assetManager.get("ground/ground.png", Texture.class).bind();
- //defaultShader.setUniformi("u_diffuseTexture", 0);
- //mesh.render(defaultShader, 4, 0, 3);
- defaultShader.begin(); // Begin our shader
- defaultShader.setUniformMatrix("u_projTrans", projectionMatrix);
- defaultShader.setUniformi("u_texture", 0); // Pass in our texture uniform to our shader. Uniform name "u_texture".
- assetManager.get("ground/ground.png", Texture.class).bind(); // Bind the texture
- mesh.render(defaultShader, GL20.GL_TRIANGLES); // Render our mesh with the shader, and primitive type GL_TRIANGLES
- defaultShader.end();
- /*batch.begin();
- batch.end();
- shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
- shapeRenderer.end();*/
- handleInput();
- }
- protected void handleInput() {
- if(Gdx.input.isKeyPressed(Keys.ESCAPE))
- game.setScreen(new MenuScreen(game));
- }
- @Override
- public void resize(int width, int height) {
- }
- @Override
- public void show() {
- }
- @Override
- public void hide() {
- }
- @Override
- public void pause() {
- }
- @Override
- public void resume() {
- }
- }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.
