Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Spearman extends Enemies {
- private Body spearman1;
- private TextureAtlas atlas;
- private Animation approaching,defeated;
- private float time;
- private TextureRegion spearmaninit;
- private int spearmanstate=0;
- public Spearman(Play_State state,float x, float y){
- super(state,x,y);
- atlas=new TextureAtlas();
- atlas=Lone_Warrior1.getAtlas(3);
- time=0f;
- Array<TextureRegion> frames=new Array<TextureRegion>();
- for(int i=0;i<3;i++)
- {
- frames.add(new TextureRegion(atlas.findRegion("Spearman"+i)));
- }
- approaching=new Animation(0.15f,frames);
- frames.clear();
- for(int i=0;i<5;i++)
- {
- frames.add(new TextureRegion(atlas.findRegion("Spearmandefeated"+i)));
- }
- defeated=new Animation(2.2f,frames);
- frames.clear();
- spearmaninit=new TextureRegion(atlas.findRegion("Spearman0"));
- setBounds(getX(),getY(),200/ Lone_Warrior1.PPM,170/Lone_Warrior1.PPM);
- setRegion(spearmaninit);
- }
- public void update(float dt){
- if(spearmanstate!=-1) {
- setPosition(spearman1.getPosition().x - getWidth() / 2, (spearman1.getPosition().y - getHeight() / 2)+13/Lone_Warrior1.PPM);
- if (spearmanstate==0 && spearman1.getLinearVelocity().x>0)
- spearmanstate=1;
- if (spearmanstate==1 && spearman1.getLinearVelocity().x==0) {
- Play_State.bodiesToRemove.add(spearman1);
- Play_State.enemycounter++;
- spearmanstate = -1;
- }
- if(spearmanstate==0)
- spearman1.setLinearVelocity(-2f,0);
- setRegion(getFrame(dt));
- }
- }
- public boolean check(){
- if(spearmanstate!=-1)
- return true;
- else
- return false;
- }
- public TextureRegion getFrame(float dt){
- TextureRegion region=null;
- region=approaching.getKeyFrame(time,true);
- if(spearmanstate==1)
- region=defeated.getKeyFrame(time);
- /* if(!region.isFlipX())
- region.flip(true,false);*/
- time=time+dt;
- return region;
- }
- @Override
- public void defineEnemy() {
- BodyDef bdef=new BodyDef();
- bdef.position.set(getX(),getY());
- bdef.type=BodyDef.BodyType.DynamicBody;
- spearman1=Play_State.world.createBody(bdef);
- FixtureDef fdef=new FixtureDef();
- PolygonShape War1=new PolygonShape();
- War1.setAsBox(60/Lone_Warrior1.PPM,60/Lone_Warrior1.PPM);
- fdef.shape=War1;
- fdef.filter.categoryBits=Lone_Warrior1.BIT_APPROACHING;
- fdef.filter.maskBits=Lone_Warrior1.BIT_GROUND|Lone_Warrior1.BIT_RUN|Lone_Warrior 1.BIT_ATTACK;
- spearman1.createFixture(fdef).setUserData("spearman1");
- }
- }
- public abstract class Enemies extends Sprite {
- World world;
- Body b2body;
- public Enemies(){
- }
- public Enemies(Play_State screen,float x, float y){
- this.world=screen.world;
- setPosition(x,y);
- defineEnemy();
- }
- public abstract void defineEnemy();
- public abstract void update(float dt);
- public abstract boolean check();
- }
- switch (a) {
- case 1:
- System.out.println("creating spearman");
- spearman.add(new Spearman(screen, (Lone_Warrior1.V_Width /Lone_Warrior1.PPM) + (Lone_Warrior1.x+``(i*500/Lone_Warrior1.PPM)), 100 / Lone_Warrior1.PPM));
- break;
- }
- if(fb.getUserData()!=null&&fb.getUserData().equals("spearman1")){
- System.out.println("spearman attacked");
- if(fa.getUserData()!=null&&fa.getUserData().equals("warriorhighkick")){
- System.out.println("spearman lost!");
- //Spawner.berserkers.get(0).berserker1.applyForceToCenter(300,100,true);
- fb.getBody().applyForceToCenter(300,100,true);
- }
- else{
- System.out.println("spearman wins");
- //fa.getBody().applyForceToCenter(-300,0,true);
- if(!fa.getUserData().equals("Ground")&&!fa.getUserData().equals("spearman1")){
- Play_State.bodiesToRemove.add(fa.getBody());
- Warrior.posture=-1;}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement