Improve material, animations and sprite positions code

This commit is contained in:
2021-02-16 12:50:34 +01:00
parent f6e15724c4
commit 7e89bedffc
9 changed files with 47 additions and 91 deletions

View File

@@ -8,6 +8,7 @@ import com.bartlomiejpluta.base.game.world.entity.config.EntitySpriteConfigurati
import com.bartlomiejpluta.base.game.world.entity.model.Entity;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.joml.Vector2f;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

View File

@@ -37,7 +37,7 @@ public class Entity extends MovableObject {
@Override
public Vector2f[] getSpriteAnimationFramesPositions() {
var row = spriteDirectionRows.get(faceDirection);
var frames = spriteSheetDimension.y;
var frames = material.getTexture().getRows();
var array = new Vector2f[frames];
for(int column=0; column<frames; ++column) {
@@ -49,7 +49,7 @@ public class Entity extends MovableObject {
@Override
protected void setDefaultAnimationFrame() {
setAnimationFrame(new Vector2f(defaultSpriteColumn, spriteDirectionRows.get(faceDirection)));
material.setSpritePosition(new Vector2f(defaultSpriteColumn, spriteDirectionRows.get(faceDirection)));
}
@Override
@@ -71,7 +71,7 @@ public class Entity extends MovableObject {
}
public Entity(Mesh mesh, Material material, Vector2f coordinateStepSize, EntitySpriteConfiguration configuration) {
super(mesh, material, coordinateStepSize, configuration.getDimension().asVector());
super(mesh, material, coordinateStepSize);
this.defaultSpriteColumn = configuration.getDefaultSpriteColumn();
this.spriteDirectionRows = configuration.getSpriteDirectionRows();
this.faceDirection = Direction.DOWN;