more progress on shard entity
This commit is contained in:
parent
bf9612cb3b
commit
a12ec18ebb
@ -78,6 +78,7 @@ public class PolyJetEntity extends Actor implements Entity {
|
|||||||
thrust.draw(batch);
|
thrust.draw(batch);
|
||||||
batch.setColor(Color.BLACK);
|
batch.setColor(Color.BLACK);
|
||||||
batch.draw(polyjet, getX(), getY(), getWidth(), getHeight());
|
batch.draw(polyjet, getX(), getY(), getWidth(), getHeight());
|
||||||
|
batch.setColor(Color.WHITE);
|
||||||
super.draw(batch, parentAlpha);
|
super.draw(batch, parentAlpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,49 +1,80 @@
|
|||||||
package zero1hd.polyjet.entity.enemies;
|
package zero1hd.polyjet.entity.enemies;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
|
import com.badlogic.gdx.graphics.g2d.Batch;
|
||||||
|
import com.badlogic.gdx.graphics.g2d.Sprite;
|
||||||
import com.badlogic.gdx.math.MathUtils;
|
import com.badlogic.gdx.math.MathUtils;
|
||||||
import com.badlogic.gdx.math.Rectangle;
|
import com.badlogic.gdx.math.Rectangle;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
|
import com.badlogic.gdx.utils.Disposable;
|
||||||
import com.badlogic.gdx.utils.Pool.Poolable;
|
import com.badlogic.gdx.utils.Pool.Poolable;
|
||||||
|
|
||||||
import zero1hd.polyjet.entity.Entities;
|
import zero1hd.polyjet.entity.Entities;
|
||||||
import zero1hd.polyjet.entity.Entity;
|
import zero1hd.polyjet.entity.Entity;
|
||||||
|
|
||||||
public class Shard extends Actor implements Entity, Poolable {
|
public class Shard extends Actor implements Entity, Poolable, Disposable {
|
||||||
|
private Sprite sprite;
|
||||||
private Texture shard;
|
private Texture shard;
|
||||||
private Rectangle hitbox;
|
private Rectangle hitbox;
|
||||||
private Vector2 angle;
|
private Vector2 angle;
|
||||||
|
private Vector2 center;
|
||||||
private int hp;
|
private int hp;
|
||||||
private int maxHp;
|
private int maxHp;
|
||||||
|
private float rate;
|
||||||
|
|
||||||
public Shard(Texture shardTexture) {
|
public Shard(Texture shardTexture) {
|
||||||
this.shard = shardTexture;
|
this.shard = shardTexture;
|
||||||
hitbox = new Rectangle();
|
hitbox = new Rectangle();
|
||||||
angle = new Vector2();
|
angle = new Vector2();
|
||||||
|
sprite = new Sprite(shardTexture);
|
||||||
|
center = new Vector2();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(float x, float y, float angle, float rate, int hp) {
|
public void init(float x, float y, float angle, float rate, int hp) {
|
||||||
|
this.rate = rate;
|
||||||
this.hp = hp;
|
this.hp = hp;
|
||||||
maxHp = hp;
|
maxHp = hp;
|
||||||
setPosition(x, y);
|
setPosition(x, y);
|
||||||
this.angle.set(MathUtils.sinDeg(angle), MathUtils.cosDeg(angle));
|
this.angle.set(MathUtils.sinDeg(angle), MathUtils.cosDeg(angle));
|
||||||
|
sprite.setRotation(angle);
|
||||||
setSize(1f, 1f);
|
setSize(1f, 1f);
|
||||||
hitbox.setSize(getWidth(), getHeight());
|
hitbox.setSize(getWidth(), getHeight());
|
||||||
|
center.set(getWidth()/2f, getHeight()/2f);
|
||||||
|
sprite.setOrigin(sprite.getWidth()/2f, sprite.getHeight()/2f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void reset() {
|
public void reset() {
|
||||||
hp = 0;
|
hp = 0;
|
||||||
setPosition(0, 0);
|
setPosition(0, 0);
|
||||||
angle.set(0, 0);
|
angle.set(0, 0);
|
||||||
|
center.set(0, 0);
|
||||||
setSize(0, 0);
|
setSize(0, 0);
|
||||||
maxHp = 0;
|
maxHp = 0;
|
||||||
|
hitbox.set(0, 0, 0, 0);
|
||||||
|
setSize(0, 0);
|
||||||
|
sprite.setRotation(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void act(float delta) {
|
||||||
|
moveBy(angle.x*delta*rate, angle.y*rate*delta);
|
||||||
|
sprite.setPosition(getX()+center.x, getY()+center.y);
|
||||||
|
super.act(delta);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draw(Batch batch, float parentAlpha) {
|
||||||
|
sprite.draw(batch);
|
||||||
|
super.draw(batch, parentAlpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collided(Entity entity) {
|
public void collided(Entity entity) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -64,4 +95,10 @@ public class Shard extends Actor implements Entity, Poolable {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dispose() {
|
||||||
|
shard.dispose();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user