Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MainGame extends Game {
- ...
- ...
- @Override
- public void create () {
- EnemyAssets.load();
- EnemyAssets.manager.finishLoading();
- screenWidth = Gdx.graphics.getWidth();
- screenHeight = Gdx.graphics.getHeight();
- camera = new OrthographicCamera();
- camera.setToOrtho(false,screenWidth, screenHeight);
- batch = new SpriteBatch();
- }
- @Override
- public void render () {
- super.render();
- batch.begin();
- batch.end();
- }
- @Override
- public void dispose () {
- batch.dispose();
- EnemyAssets.dispose();
- }
- public class EnemyAnimation extends Actor{
- MainGame app;
- LevelOneScreen levelOneScreen;
- private Animation enemyAnimation;
- private static final int FRAME_COLS_WALK = 10;
- private static final int FRAME_ROWS_WALK= 1;
- public TextureRegion currentFrame;
- public float enemyW;
- public float enemyH;
- public float enemyWidth;
- public float enemyHeight;
- private float stateTime = 0f;
- public float enemyX;
- public float enemyY;
- final float delta = Gdx.graphics.getDeltaTime();
- public float enemyXBound;
- public float enemyYBound;
- public EnemyAnimation(final MainGame app) {
- this.app = app;
- this.enemyX = enemyX;
- this.enemyY = enemyY;
- Texture enemySprite = EnemyAssets.manager.get("enemy128.png",Texture.class);
- enemySprite.setFilter(Texture.TextureFilter.MipMapLinearNearest,Texture.TextureFilter.MipMapLinearNearest);
- TextureRegion[][] tmp = TextureRegion.split(enemySprite, (int) enemySprite.getWidth() / FRAME_COLS_WALK, (int) enemySprite.getHeight() / FRAME_ROWS_WALK);
- TextureRegion[] enemyTexRegion = new TextureRegion[FRAME_COLS_WALK * FRAME_ROWS_WALK];
- int index = 0 ;
- for (int i = 0; i < FRAME_ROWS_WALK; i++) {
- for (int j = 0; j < FRAME_COLS_WALK; j++) {
- enemyTexRegion[index++] = tmp[i][j];
- }
- }
- enemyAnimation = new Animation(0.044f,enemyTexRegion);
- currentFrame = enemyAnimation.getKeyFrame(stateTime, true);
- enemyW = currentFrame.getRegionWidth();
- enemyH= currentFrame.getRegionHeight();
- enemyXBound = getX();
- enemyYBound = getY();
- enemyWidth = app.screenWidth*0.166667f;
- enemyHeight = enemyWidth *(enemyH/enemyW);
- this.setSize(enemyWidth, enemyHeight);
- this.setBounds(enemyXBound,enemyYBound,enemyWidth,enemyHeight);
- this.isTouchable();
- }
- public void draw(Batch batch, float parentAlpha) {
- super.draw(batch, parentAlpha);
- final float delta = Gdx.graphics.getDeltaTime();
- stateTime += delta;
- TextureRegion currentFrame = enemyAnimation.getKeyFrame(stateTime, true);
- batch.draw(currentFrame,getX(),getY(),enemyWidth,enemyHeight);
- }
- }
- public class EnemyAssets {
- public static final AssetManager manager = new AssetManager();
- public static void load(){
- manager.load("enemySprite.png",Texture.class);
- }
- public static void dispose(){
- manager.dispose();
- }
- }
- public class LevelOneScreen implements Screen {
- public MainGame app;
- private Stage stage;
- private Stage stageNinja;
- public EnemyAnimation enemyAnimation;
- private float deltaTime = Gdx.graphics.getDeltaTime();
- public Array<EnemyAnimation> enemyAnimate;
- public LevelOneScreen(final MainGame app){
- this.app = app;
- this.stage = new Stage(new StretchViewport(app.screenWidth, app.screenHeight, app.camera));
- this.stageNinja = new Stage(new StretchViewport(app.screenWidth, app.screenHeight, app.camera));
- enemyAnimate = new Array<EnemyAnimation>();
- enemyAnimate.add(new EnemyAnimation(app));
- enemyAnimation = new EnemyAnimation(app);
- }
- @Override
- public void show() {
- InputMultiplexer inputMultiplexer = new InputMultiplexer();
- inputMultiplexer.addProcessor(stage);
- inputMultiplexer.addProcessor(stageNinja);
- Gdx.input.setInputProcessor(inputMultiplexer);
- enemyAct1();
- }
- public void enemyAct1(){
- for(int i = 1; i < 6; i++){enemyAnimate.add(new EnemyAnimation(app));}
- enemyAnimate.get(1).setPosition(app.screenWidth*0.1f,app.screenHeight);
- stageNinja.addActor(enemyAnimate.get(1));
- enemyAnimate.get(1).addAction(moveTo(app.screenWidth*0.1f,enemyDestination,enemyTimeDrop1));
- enemyAnimate.get(2).setPosition(app.screenWidth*0.1f+enemyAnimation.enemyWidth,app.screenHeight+enemyAnimation.enemyHeight);
- stageNinja.addActor(enemyAnimate.get(2));
- enemyAnimate.get(2).addAction(moveTo(app.screenWidth*0.1f+enemyAnimation.enemyWidth,enemyDestination,enemyTimeDrop2));
- 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));
- }
- @Override
- public void render(float delta) {
- Gdx.gl.glClearColor(0, 0, 0, 1);
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
- update(delta);
- }
- public void update(float deltaTime){
- stage.draw();
- stageNinja.draw();
- stage.act(deltaTime);
- stageNinja.act(deltaTime);
- app.batch.begin();
- app.batch.end();
- }
- @Override
- public void resize(int width, int height) {
- app.camera.setToOrtho(false, app.screenWidth, app.screenHeight);
- app.camera.update();
- stage.getViewport().setScreenSize(app.screenWidth, app.screenHeight);
- stageNinja.getViewport().setScreenSize(app.screenWidth, app.screenHeight);
- }
- @Override
- public void dispose() {
- stage.dispose();
- stageNinja.dispose();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement