Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.68 KB | None | 0 0
  1. public class EnemyAnimation extends Actor{
  2.  
  3. Ninja app;
  4. LevelOneScreen levelOneScreen;
  5.  
  6. private Animation animation;
  7. private static final int FRAME_COLS_WALK = 10;
  8. private static final int FRAME_ROWS_WALK= 1;
  9. public TextureRegion currentFrame;
  10. private float stateTime = 0f;
  11.  
  12. public float Xpos;
  13. public float Ypos;
  14. public static final int fallSpeed = 250;
  15. public boolean remove = false;
  16. final float delta = Gdx.graphics.getDeltaTime();
  17.  
  18.  
  19.  
  20. public animation(final Ninja app){
  21. this.app = app;
  22. Texture ninSprite = new Texture(Gdx.files.internal("ninSprite.jpg"), true);
  23. ninSprite.setFilter(Texture.TextureFilter.MipMapLinearNearest,Texture.TextureFilter.MipMapLinearNearest);
  24.  
  25.  
  26.  
  27. TextureRegion[][] tmp = TextureRegion.split(ninSprite, (int) ninSprite.getWidth() / FRAME_COLS_WALK, (int) ninSprite.getHeight() / FRAME_ROWS_WALK);
  28. TextureRegion[] ninTexRegion = new TextureRegion[FRAME_COLS_WALK * FRAME_ROWS_WALK];
  29. int index = 0 ;
  30. for (int i = 0; i < FRAME_ROWS_WALK; i++) {
  31. for (int j = 0; j < FRAME_COLS_WALK; j++) {
  32. ninTexRegion[index++] = tmp[i][j];
  33. }
  34. }
  35.  
  36. animation = new Animation(0.044f,ninTexRegion);
  37. currentFrame = animation.getKeyFrame(stateTime, true);
  38.  
  39. }
  40.  
  41. public void draw(Batch batch, float parentAlpha) {
  42.  
  43. super.draw(batch, parentAlpha);
  44.  
  45. final float delta = Gdx.graphics.getDeltaTime();
  46.  
  47. stateTime += delta;
  48.  
  49. TextureRegion currentFrame = animation.getKeyFrame(stateTime, true);
  50.  
  51.  
  52. batch.draw(currentFrame,Xpos,Ypos,getWidth(),getHeight());
  53.  
  54. }
  55. }
  56.  
  57. public class LevelOneScreen implements Screen {
  58.  
  59. public Ninja app;
  60. private Stage stage;
  61. private Stage stageNinja;
  62. public EnemyAnimation enemyAnimation;
  63. private Image ninImage;
  64. private Image levelOneImage;
  65. private float deltaTime = Gdx.graphics.getDeltaTime();
  66.  
  67. public ArrayList<EnemyAnimation> enemyAnimate;
  68.  
  69.  
  70. public LevelOneScreen(final Ninja app){
  71. this.app = app;
  72. this.stage = new Stage(new StretchViewport(app.screenWidth, app.screenHeight, app.camera));
  73. this.stageNinja = new Stage(new StretchViewport(app.screenWidth, app.screenHeight, app.camera));
  74. enemyAnimate = new ArrayList<EnemyAnimation>();
  75. enemyAnimation = new EnemyAnimation(app);
  76. }
  77.  
  78.  
  79. @Override
  80. public void show() {
  81.  
  82. InputMultiplexer inputMultiplexer = new InputMultiplexer();
  83. inputMultiplexer.addProcessor(stage);
  84. inputMultiplexer.addProcessor(stageNinja);
  85. Gdx.input.setInputProcessor(inputMultiplexer);
  86.  
  87.  
  88.  
  89.  
  90. levelOneBackground();
  91. enemy();
  92. }
  93.  
  94.  
  95. public void enemy(){
  96.  
  97.  
  98. stageNinja.addActor(enemyAnimate);
  99.  
  100.  
  101. /*
  102.  
  103. From here I cannot add the Arraylist enemyAnimate to the
  104. stage and I received some errors. I would like to add elements to
  105. enemyAnimate and make each added elements into actors with
  106. different positions to be added to the stage.
  107.  
  108. */
  109.  
  110.  
  111. }
  112.  
  113.  
  114.  
  115.  
  116.  
  117. @Override
  118. public void render(float delta) {
  119.  
  120.  
  121. Gdx.gl.glClearColor(0, 0, 0, 1);
  122. Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
  123.  
  124. update(delta);
  125.  
  126. }
  127.  
  128.  
  129.  
  130. public void update(float deltaTime){
  131.  
  132. stage.draw();
  133. stageNinja.draw();
  134.  
  135. stage.act(deltaTime);
  136. stageNinja.act(deltaTime);
  137.  
  138. }
  139.  
  140. public class LevelOneScreen implements Screen {
  141.  
  142. public Ninja app;
  143. private Stage stage;
  144. private Stage stageNinja;
  145. public EnemyAnimation enemyAnimation;
  146. private Image ninImage;
  147. private Image levelOneImage;
  148. private float deltaTime = Gdx.graphics.getDeltaTime();
  149.  
  150. public Array<EnemyAnimation> enemyAnimate;
  151.  
  152.  
  153. public LevelOneScreen(final Ninja app){
  154. this.app = app;
  155. this.stage = new Stage(new StretchViewport(app.screenWidth, app.screenHeight, app.camera));
  156. this.stageNinja = new Stage(new StretchViewport(app.screenWidth, app.screenHeight, app.camera));
  157. enemyAnimate = new Array<EnemyAnimation>();
  158. enemyAnimate.add(new EnemyAnimation(app));
  159. enemyAnimation = new EnemyAnimation(app);
  160. }
  161.  
  162.  
  163. @Override
  164. public void show() {
  165.  
  166. InputMultiplexer inputMultiplexer = new InputMultiplexer();
  167. inputMultiplexer.addProcessor(stage);
  168. inputMultiplexer.addProcessor(stageNinja);
  169. Gdx.input.setInputProcessor(inputMultiplexer);
  170.  
  171.  
  172.  
  173.  
  174. levelOneBackground();
  175. enemy();
  176. }
  177.  
  178.  
  179. public void enemyAct1(){
  180.  
  181. for(int i = 0; i < 6; i++){enemyAnimate.add(new EnemyAnimation(app));}
  182.  
  183. enemyAnimate.get(1).setPosition(app.screenWidth*0.1f,app.screenHeight);
  184. stageEnemy.addActor(enemyAnimate.get(1));
  185. float enemyTimeDrop1 = (app.screenHeight/app.screenHeight)*4.85f ;
  186. enemyAnimate.get(1).addAction(moveTo(app.screenWidth*0.1f,enemyDestination,enemyTimeDrop1));
  187.  
  188.  
  189. enemyAnimate.get(2).setPosition(app.screenWidth*0.1f+enemyAnimation.enemyWidth,app.screenHeight+enemyAnimation.enemyHeight);
  190. stageEnemy.addActor(enemyAnimate.get(2));
  191. float enemyHeight2 = app.screenHeight+enemyAnimation.enemyHeight;
  192. float enemyTimeDrop2 = (enemyHeight2/app.screenHeight)*4.85f ;
  193. enemyAnimate.get(2).addAction(moveTo(app.screenWidth*0.1f+enemyAnimation.enemyWidth,enemyDestination,enemyTimeDrop2));
  194.  
  195.  
  196. enemyAnimate.get(3).setPosition(app.screenWidth*0.1f+enemyAnimation.enemyWidth*2f,app.screenHeight+enemyAnimation.enemyHeight*2f);
  197. stageEnemy.addActor(enemyAnimate.get(3));
  198. float enemyHeight3 = app.screenHeight+enemyAnimation.enemyHeight*2f;
  199. float enemyTimeDrop3 = (enemyHeight3/app.screenHeight)*4.85f ;
  200. enemyAnimate.get(3).addAction(moveTo(app.screenWidth*0.1f+enemyAnimation.enemyWidth*2f,enemyDestination,enemyTimeDrop3));
  201.  
  202.  
  203. enemyAnimate.get(4).setPosition(app.screenWidth*0.1f+enemyAnimation.enemyWidth*3f,app.screenHeight+enemyAnimation.enemyHeight*3f);
  204. stageEnemy.addActor(enemyAnimate.get(4));
  205. float enemyHeight4 = app.screenHeight+enemyAnimation.enemyHeight*3f;
  206. float enemyTimeDrop4 = (enemyHeight4/app.screenHeight)*4.85f ;
  207. enemyAnimate.get(4).addAction(moveTo(app.screenWidth*0.1f+enemyAnimation.enemyWidth*3f,enemyDestination,enemyTimeDrop4));
  208.  
  209.  
  210. enemyAnimate.get(5).setPosition(app.screenWidth*0.1f+enemyAnimation.enemyWidth*4f,app.screenHeight+enemyAnimation.enemyHeight*4f);
  211. stageEnemy.addActor(enemyAnimate.get(5));
  212. float enemyHeight5 = app.screenHeight+(enemyAnimation.enemyHeight*4f);
  213. float enemyTimeDrop5 = (enemyHeight5/app.screenHeight)*4.85f ;
  214. enemyAnimate.get(5).addAction(moveTo(app.screenWidth*0.1f+enemyAnimation.enemyWidth*4f,enemyDestination,enemyTimeDrop5));
  215.  
  216.  
  217. }
  218.  
  219. public void enemyAct4(){
  220. for(int i = 20; i < 30; i++){
  221. enemyAnimate.add(new EnemyAnimation(app));
  222. }
  223.  
  224.  
  225. enemyAnimate.get(21).setPosition(app.screenWidth/2-enemyAnimation.enemyWidth/2,app.screenHeight);
  226. stageEnemy.addActor(enemyAnimate.get(21));
  227. float enemyTimeDrop1 = 4.85f ;
  228. enemyAnimate.get(21).addAction(moveTo(app.screenWidth/2-enemyAnimation.enemyWidth/2,enemyDestination,enemyTimeDrop1));
  229.  
  230.  
  231.  
  232. enemyAnimate.get(22).setPosition((app.screenWidth/2-enemyAnimation.enemyWidth/2)+enemyAnimation.enemyWidth,(app.screenHeight+enemyAnimation.enemyHeight));
  233. stageEnemy.addActor(enemyAnimate.get(22));
  234. float enemyHeight22 = (app.screenHeight+enemyAnimation.enemyHeight);
  235. float enemyTimeDrop22 = (enemyHeight22/app.screenHeight)*4.85f ;
  236. enemyAnimate.get(22).addAction(moveTo((app.screenWidth/2-enemyAnimation.enemyWidth/2)+enemyAnimation.enemyWidth,enemyDestination,enemyTimeDrop22));
  237.  
  238.  
  239. enemyAnimate.get(23).setPosition((app.screenWidth/2-enemyAnimation.enemyWidth/2)-enemyAnimation.enemyWidth,app.screenHeight+(enemyAnimation.enemyHeight));
  240. stageEnemy.addActor(enemyAnimate.get(23));
  241. float enemyHeight23 = app.screenHeight+(enemyAnimation.enemyHeight);
  242. float enemyTimeDrop23 = (enemyHeight23 /app.screenHeight)*4.85f ;
  243. enemyAnimate.get(23).addAction(moveTo((app.screenWidth/2-enemyAnimation.enemyWidth/2)-enemyAnimation.enemyWidth,enemyDestination,enemyTimeDrop23));
  244.  
  245.  
  246. enemyAnimate.get(24).setPosition((app.screenWidth/2-enemyAnimation.enemyWidth/2)+(enemyAnimation.enemyWidth*2f),app.screenHeight+(enemyAnimation.enemyHeight*2f));
  247. stageEnemy.addActor(enemyAnimate.get(24));
  248. float enemyHeight24 = app.screenHeight+(enemyAnimation.enemyHeight*2f);
  249. float enemyTimeDrop24 = (enemyHeight24/app.screenHeight)*4.85f ;
  250. enemyAnimate.get(24).addAction(moveTo((app.screenWidth/2-enemyAnimation.enemyWidth/2)+(enemyAnimation.enemyWidth*2f),enemyDestination,enemyTimeDrop24));
  251.  
  252.  
  253. enemyAnimate.get(25).setPosition((app.screenWidth/2-enemyAnimation.enemyWidth/2)-(enemyAnimation.enemyWidth*2f),app.screenHeight+(enemyAnimation.enemyHeight*2f));
  254. stageEnemy.addActor(enemyAnimate.get(25));
  255. float enemyHeight25 = app.screenHeight+(enemyAnimation.enemyHeight*2f);
  256. float enemyTimeDrop25 = (enemyHeight25/app.screenHeight)*4.85f ;
  257. enemyAnimate.get(25).addAction(moveTo((app.screenWidth/2-enemyAnimation.enemyWidth/2)-(enemyAnimation.enemyWidth*2f),enemyDestination,enemyTimeDrop25));
  258.  
  259. }
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266. @Override
  267. public void render(float delta) {
  268.  
  269.  
  270. Gdx.gl.glClearColor(0, 0, 0, 1);
  271. Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
  272.  
  273. update(delta);
  274.  
  275. }
  276.  
  277.  
  278.  
  279. public void update(float deltaTime){
  280.  
  281. stage.draw();
  282. stageNinja.draw();
  283.  
  284. stage.act(deltaTime);
  285. stageNinja.act(deltaTime);
  286.  
  287. }
  288.  
  289. stageNinja.addActor(enemyAnimate);
  290.  
  291. stageNinja.addActor(enemyAnimate.get(i)); // where i is an iterator you need to set to get the actor you want to get.
  292.  
  293. enemyAnimation = new EnemyAnimation(app);
  294.  
  295. enemyAnimate.add(new EnemyAnimation(app));
  296.  
  297. Texture tex = manager.get("data/mytexture.png", Texture.class);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement