Android Open Source - RollOverSphere---a-simple-libgdx-game Field Object From Project Back to project page RollOverSphere---a-simple-libgdx-game .
License The source code is released under:
MIT License
If you think the Android project RollOverSphere---a-simple-libgdx-game listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.igorcrevar.rolloverchuck.objects;
/ / w w w . j a v a 2 s . c o m
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.glutils.ShaderProgram;
import com.badlogic.gdx.math.Matrix4;
import com.badlogic.gdx.math.Vector2;
import com.igorcrevar.rolloverchuck.GameConsts;
import com.igorcrevar.rolloverchuck.GameData;
import com.igorcrevar.rolloverchuck.GameManager;
import com.igorcrevar.rolloverchuck.mesh.IMesh;
public class FieldObject {
private IMesh mesh;
private ShaderProgram sp;
private Matrix4 modelMatrix;
private TextureRegion texture;
private Vector2 repeatFactor;
private Vector2 uvMin = new Vector2();
private Vector2 uvMax = new Vector2();
public FieldObject(GameManager gameManager) {
mesh = gameManager.getMesh("plane" );
sp = gameManager.getShader("field" );
modelMatrix = new Matrix4().translate(GameData.ObjectZero);
// how much texture is repeated in x and z
float facX = (int )((Gdx.graphics.getWidth() / 1280.0f) * 8.0f);
float facY = (int )((Gdx.graphics.getHeight() / 720.0f) * 8.0f);
repeatFactor = new Vector2(facX, facY);
}
public void setTexture(TextureRegion textRegion) {
texture = textRegion;
// ((FieldMesh)mesh).setTextureUV(texture.getU(), texture.getV(), texture.getU2(), texture.getV2());
uvMin.set(texture.getU(), texture.getV());
uvMax.set(texture.getU2(), texture.getV2());
}
public void draw(Matrix4 viewProjMatrix) {
viewProjMatrix.mul(modelMatrix);
if (texture != null) {
texture.getTexture().bind(); // bind texture
}
sp.begin();
sp.setUniformMatrix(GameConsts.ProjectionMatrixName, viewProjMatrix);
sp.setUniformi(GameConsts.TextureName, 0);
sp.setUniformf("u_repeat" , repeatFactor);
sp.setUniformf("u_uvMax" , uvMax);
sp.setUniformf("u_uvMin" , uvMin);
mesh.draw(sp);
sp.end();
}
}
Java Source Code List com.google.example.games.basegameutils.GameHelperUtils.java com.google.example.games.basegameutils.GameHelper.java com.igorcrevar.rolloverchuck.DesktopRunner.java com.igorcrevar.rolloverchuck.GameConsts.java com.igorcrevar.rolloverchuck.GameData.java com.igorcrevar.rolloverchuck.GameListener.java com.igorcrevar.rolloverchuck.GameManager.java com.igorcrevar.rolloverchuck.GameType.java com.igorcrevar.rolloverchuck.IActivityRequestHandler.java com.igorcrevar.rolloverchuck.ISceneManager.java com.igorcrevar.rolloverchuck.IScene.java com.igorcrevar.rolloverchuck.mesh.CubeMeshWithNormals.java com.igorcrevar.rolloverchuck.mesh.CubeMesh.java com.igorcrevar.rolloverchuck.mesh.FieldMesh.java com.igorcrevar.rolloverchuck.mesh.IMesh.java com.igorcrevar.rolloverchuck.mesh.SphereMesh.java com.igorcrevar.rolloverchuck.objects.BoxObject.java com.igorcrevar.rolloverchuck.objects.ChuckObject.java com.igorcrevar.rolloverchuck.objects.ChuckSpriteObject.java com.igorcrevar.rolloverchuck.objects.EndGameButtonsObject.java com.igorcrevar.rolloverchuck.objects.FieldObject.java com.igorcrevar.rolloverchuck.objects.GameButton.java com.igorcrevar.rolloverchuck.objects.IntroSceneButtonsObject.java com.igorcrevar.rolloverchuck.objects.MainWallObject.java com.igorcrevar.rolloverchuck.objects.StarsObject.java com.igorcrevar.rolloverchuck.objects.TextButton.java com.igorcrevar.rolloverchuck.objects.TrailObject.java com.igorcrevar.rolloverchuck.objects.boxes.BoxManager.java com.igorcrevar.rolloverchuck.objects.boxes.BoxRegionManager.java com.igorcrevar.rolloverchuck.objects.boxes.BoxRegion.java com.igorcrevar.rolloverchuck.objects.boxes.BoxTypeFactory.java com.igorcrevar.rolloverchuck.objects.boxes.IBoxRegion.java com.igorcrevar.rolloverchuck.objects.boxes.IBoxType.java com.igorcrevar.rolloverchuck.physics.CollisionSolver.java com.igorcrevar.rolloverchuck.physics.ICollisionIterationHandler.java com.igorcrevar.rolloverchuck.physics.SphereMoving.java com.igorcrevar.rolloverchuck.points.PlayerPoint.java com.igorcrevar.rolloverchuck.points.PointsManager.java com.igorcrevar.rolloverchuck.scenes.GameLoadingScene.java com.igorcrevar.rolloverchuck.scenes.GameScene.java com.igorcrevar.rolloverchuck.scenes.IntroScene.java com.igorcrevar.rolloverchuck.scenes.GameMode.ArcadeGameMode.java com.igorcrevar.rolloverchuck.scenes.GameMode.IGameMode.java com.igorcrevar.rolloverchuck.scenes.GameMode.StressFreeGameMode.java com.igorcrevar.rolloverchuck.utils.CollisionHelper.java com.igorcrevar.rolloverchuck.utils.GameHelper.java com.igorcrevar.rolloverchuck.utils.IMyFontDrawerFont.java com.igorcrevar.rolloverchuck.utils.Mathf.java com.igorcrevar.rolloverchuck.utils.MyFontDrawerBatch.java com.igorcrevar.rolloverchuck.utils.MyFontDrawerDefaultFont.java com.igorcrevar.rolloverchuck.utils.MyFontDrawer.java com.igorcrevar.rolloverchuck.utils.ShaderAssetLoader.java com.wayilookatgames.rolloverball.MainActivity.java