FightScreen taking n-Enemies

master
Jonathan Hager 5 years ago
parent 4ac604ee87
commit 379ff26c4f

@ -0,0 +1,46 @@
package com.trs.main;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.scenes.scene2d.Actor;
public class Hostile extends Actor {
int id;
Stats stats;
AnimatedSprite sprite;
Rectangle collisionRect;
public Hostile(float xPos, float yPos, int id, Stats stats, String texture) {
this.id = id;
this.stats = stats;
Texture tx = new Texture(Gdx.files.internal("textureData/sprites/" + texture));
sprite = new AnimatedSprite(tx, 64, 64, true);
collisionRect = new Rectangle(xPos + 16, yPos, 32, 16);
setX(xPos);
setY(yPos);
}
@Override
public void act(float deltatime) {
sprite.updateAnimation(deltatime);
}
@Override
public void draw(Batch batch, float deltatime) {
sprite.draw(batch);
}
@Override
protected void positionChanged() {
sprite.setSpritePosition((int)getX(), (int)getY());
collisionRect = new Rectangle(getX() + 16, getY(), 32, 16);
super.positionChanged(); //To change body of generated methods, choose Tools | Templates.
}
}

@ -155,6 +155,9 @@ public class MapContainer {
p.movementY = 0;
stage.addActor(p);
stage.addActor(new Hostile(200, 200, 0, new Stats(), "sprite.png"));
stage.addActor(new Hostile(265, 200, 0, new Stats(), "sprite.png"));
}
public void render(float f){
@ -176,7 +179,20 @@ public class MapContainer {
// CREATING FightObject Array
// Temporarily only Player
FightObject[] fightObjects = {new FightPlayer(getPlayer().getX(),getPlayer().getY(),getPlayer().playerSprite, getPlayer().stats, 0)};
ArrayList<FightObject> tempObjects = new ArrayList<>();
tempObjects.add(new FightPlayer(getPlayer().getX(),getPlayer().getY(),getPlayer().playerSprite, getPlayer().stats, 0));
for(Actor a : stage.getActors()) {
if(a instanceof Hostile) {
Enemy e = new Enemy(a.getX(), a.getY(), ((Hostile) a).sprite, ((Hostile) a).stats, ((Hostile) a).id);
tempObjects.add(e);
}
}
FightObject[] fightObjects = new FightObject[tempObjects.size()];
for(int i = 0; i< tempObjects.size(); i++){
fightObjects[i] = tempObjects.get(i);
}
fs = new FightScreen(stage.getBatch(), fightObjects, rects, getPlayer().getX()+32, getPlayer().getY()+32);
}
@ -224,21 +240,21 @@ public class MapContainer {
}
else{
/*
for(int i = stage.getActors().size-1; i >= 0; i--){
if(stage.getActors().get(i) instanceof EnemyNpc){
if(((EnemyNpc)stage.getActors().get(i)).id == object.id){
if(stage.getActors().get(i) instanceof Hostile){
if(((Hostile)stage.getActors().get(i)).id == object.id){
if(object.stats.getHp() <= 0){
stage.getActors().removeIndex(i);
}
else{
stage.getActors().get(i).setPosition(object.x, object.y);
((EnemyNpc)stage.getActors().get(i)).stats = object.stats;
((Hostile)stage.getActors().get(i)).stats = object.stats;
}
}
}
}
*/
}
}
@ -297,7 +313,7 @@ public class MapContainer {
public Player getPlayer(){
for(Actor a : stage.getActors()){
if(a.getName().equals("player")){
if(a instanceof Player){
return (Player)a;
}
}

Loading…
Cancel
Save