Advertisement
Guest User

Untitled

a guest
Jan 21st, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.62 KB | None | 0 0
  1. public class MainGame extends Game {
  2.  
  3. ...
  4. ...
  5. @Override
  6. public void create () {
  7. EnemyAssets.load();
  8. EnemyAssets.manager.finishLoading();
  9. screenWidth = Gdx.graphics.getWidth();
  10. screenHeight = Gdx.graphics.getHeight();
  11. camera = new OrthographicCamera();
  12. camera.setToOrtho(false,screenWidth, screenHeight);
  13. batch = new SpriteBatch();
  14. }
  15.  
  16. @Override
  17. public void render () {
  18.  
  19. super.render();
  20. batch.begin();
  21. batch.end();
  22. }
  23.  
  24. @Override
  25. public void dispose () {
  26. batch.dispose();
  27. EnemyAssets.dispose();
  28. }
  29.  
  30. public class EnemyAnimation extends Actor{
  31.  
  32. MainGame app;
  33. LevelOneScreen levelOneScreen;
  34.  
  35. private Animation enemyAnimation;
  36. private static final int FRAME_COLS_WALK = 10;
  37. private static final int FRAME_ROWS_WALK= 1;
  38. public TextureRegion currentFrame;
  39. public float enemyW;
  40. public float enemyH;
  41. public float enemyWidth;
  42. public float enemyHeight;
  43. private float stateTime = 0f;
  44.  
  45. public float enemyX;
  46. public float enemyY;
  47. final float delta = Gdx.graphics.getDeltaTime();
  48.  
  49. public float enemyXBound;
  50. public float enemyYBound;
  51.  
  52. public EnemyAnimation(final MainGame app) {
  53. this.app = app;
  54. this.enemyX = enemyX;
  55. this.enemyY = enemyY;
  56. Texture enemySprite = EnemyAssets.manager.get("enemy128.png",Texture.class);
  57. enemySprite.setFilter(Texture.TextureFilter.MipMapLinearNearest,Texture.TextureFilter.MipMapLinearNearest);
  58.  
  59.  
  60. TextureRegion[][] tmp = TextureRegion.split(enemySprite, (int) enemySprite.getWidth() / FRAME_COLS_WALK, (int) enemySprite.getHeight() / FRAME_ROWS_WALK);
  61. TextureRegion[] enemyTexRegion = new TextureRegion[FRAME_COLS_WALK * FRAME_ROWS_WALK];
  62. int index = 0 ;
  63. for (int i = 0; i < FRAME_ROWS_WALK; i++) {
  64. for (int j = 0; j < FRAME_COLS_WALK; j++) {
  65. enemyTexRegion[index++] = tmp[i][j];
  66. }
  67. }
  68.  
  69. enemyAnimation = new Animation(0.044f,enemyTexRegion);
  70. currentFrame = enemyAnimation.getKeyFrame(stateTime, true);
  71. enemyW = currentFrame.getRegionWidth();
  72. enemyH= currentFrame.getRegionHeight();
  73. enemyXBound = getX();
  74. enemyYBound = getY();
  75. enemyWidth = app.screenWidth*0.166667f;
  76. enemyHeight = enemyWidth *(enemyH/enemyW);
  77.  
  78. this.setSize(enemyWidth, enemyHeight);
  79. this.setBounds(enemyXBound,enemyYBound,enemyWidth,enemyHeight);
  80. this.isTouchable();
  81.  
  82.  
  83.  
  84.  
  85. }
  86.  
  87. public void draw(Batch batch, float parentAlpha) {
  88.  
  89. super.draw(batch, parentAlpha);
  90.  
  91. final float delta = Gdx.graphics.getDeltaTime();
  92.  
  93.  
  94. stateTime += delta;
  95.  
  96. TextureRegion currentFrame = enemyAnimation.getKeyFrame(stateTime, true);
  97.  
  98.  
  99. batch.draw(currentFrame,getX(),getY(),enemyWidth,enemyHeight);
  100.  
  101. }
  102. }
  103.  
  104. public class EnemyAssets {
  105.  
  106. public static final AssetManager manager = new AssetManager();
  107.  
  108. public static void load(){
  109. manager.load("enemySprite.png",Texture.class);
  110. }
  111. public static void dispose(){
  112. manager.dispose();
  113. }
  114. }
  115.  
  116. public class LevelOneScreen implements Screen {
  117.  
  118. public MainGame app;
  119. private Stage stage;
  120. private Stage stageNinja;
  121. public EnemyAnimation enemyAnimation;
  122. private float deltaTime = Gdx.graphics.getDeltaTime();
  123.  
  124. public Array<EnemyAnimation> enemyAnimate;
  125.  
  126.  
  127. public LevelOneScreen(final MainGame app){
  128. this.app = app;
  129. this.stage = new Stage(new StretchViewport(app.screenWidth, app.screenHeight, app.camera));
  130. this.stageNinja = new Stage(new StretchViewport(app.screenWidth, app.screenHeight, app.camera));
  131. enemyAnimate = new Array<EnemyAnimation>();
  132. enemyAnimate.add(new EnemyAnimation(app));
  133. enemyAnimation = new EnemyAnimation(app);
  134. }
  135.  
  136.  
  137. @Override
  138. public void show() {
  139.  
  140. InputMultiplexer inputMultiplexer = new InputMultiplexer();
  141. inputMultiplexer.addProcessor(stage);
  142. inputMultiplexer.addProcessor(stageNinja);
  143. Gdx.input.setInputProcessor(inputMultiplexer);
  144.  
  145.  
  146. enemyAct1();
  147.  
  148. }
  149.  
  150.  
  151. public void enemyAct1(){
  152.  
  153. for(int i = 1; i < 6; i++){enemyAnimate.add(new EnemyAnimation(app));}
  154.  
  155. enemyAnimate.get(1).setPosition(app.screenWidth*0.1f,app.screenHeight);
  156.  
  157. stageNinja.addActor(enemyAnimate.get(1));
  158. enemyAnimate.get(1).addAction(moveTo(app.screenWidth*0.1f,enemyDestination,enemyTimeDrop1));
  159.  
  160.  
  161. enemyAnimate.get(2).setPosition(app.screenWidth*0.1f+enemyAnimation.enemyWidth,app.screenHeight+enemyAnimation.enemyHeight);
  162. stageNinja.addActor(enemyAnimate.get(2));
  163. enemyAnimate.get(2).addAction(moveTo(app.screenWidth*0.1f+enemyAnimation.enemyWidth,enemyDestination,enemyTimeDrop2));
  164.  
  165.  
  166. enemyAnimate.get(3).setPosition(app.screenWidth*0.1f+enemyAnimation.enemyWidth*2f,app. stageNinja.addActor(enemyAnimate.get(3)); enemyAnimate.get(3).addAction(moveTo(app.screenWidth*0.1f+enemyAnimation.enemyWidth*2f,enemyDestination,enemyTimeDrop3));
  167.  
  168. }
  169.  
  170.  
  171. @Override
  172. public void render(float delta) {
  173.  
  174.  
  175. Gdx.gl.glClearColor(0, 0, 0, 1);
  176. Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
  177.  
  178. update(delta);
  179. }
  180.  
  181. public void update(float deltaTime){
  182.  
  183. stage.draw();
  184. stageNinja.draw();
  185.  
  186. stage.act(deltaTime);
  187. stageNinja.act(deltaTime);
  188.  
  189. app.batch.begin();
  190. app.batch.end();
  191.  
  192. }
  193.  
  194.  
  195. @Override
  196. public void resize(int width, int height) {
  197. app.camera.setToOrtho(false, app.screenWidth, app.screenHeight);
  198. app.camera.update();
  199. stage.getViewport().setScreenSize(app.screenWidth, app.screenHeight);
  200. stageNinja.getViewport().setScreenSize(app.screenWidth, app.screenHeight);
  201. }
  202.  
  203. @Override
  204. public void dispose() {
  205. stage.dispose();
  206. stageNinja.dispose();
  207.  
  208. }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement