1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package me.hammerle.supersnuvi.entity.components.ai;
- import me.hammerle.snuviengine.api.Shader;
- import me.hammerle.snuviengine.api.Texture;
- import me.hammerle.supersnuvi.entity.Entity;
- import me.hammerle.supersnuvi.gamelogic.Level;
- import me.hammerle.supersnuvi.tiles.Tile;
- import me.hammerle.supersnuvi.util.Utils;
- public class StoneController extends Controller
- {
- private final static Texture STONE = new Texture("resources/stone.png");
-
- private int frame = 0;
- @Override
- public boolean isAnimated()
- {
- return frame < 40;
- }
- @Override
- public void renderTick(Entity ent, float lag)
- {
- STONE.bind();
- float x = Utils.interpolate(ent.getLastX(), ent.getX(), lag);
- float y = Utils.interpolate(ent.getLastY(), ent.getY(), lag);
-
- float row = (frame / 16) * 0.3125f;
- float column = (frame % 16) * 0.0625f;
- Shader.getTextureRenderer().drawRectangle(
- x, y, x + Tile.SIZE, y + 5.0f * Tile.SIZE,
- column, row, column + 0.0625f, row + 0.3125f);
- }
- @Override
- public void tick(Entity ent, Level level)
- {
- if(frame < 40)
- {
- frame++;
- }
- }
- }
|