Stagger causes sprite to jitter back and forth.
Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com> Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
6fd0b4feb4
commit
ad21b7da11
@ -18,10 +18,18 @@ import sig.map.Background;
|
||||
import sig.map.DataTile;
|
||||
import sig.map.Map;
|
||||
import sig.map.Tile;
|
||||
import sig.objects.actor.PhysicsObject;
|
||||
import sig.objects.actor.RenderedObject;
|
||||
import sig.objects.actor.State;
|
||||
import sig.utils.TimeUtils;
|
||||
|
||||
public class LevelRenderer extends Object{
|
||||
|
||||
final static long staggerJitterWaitTime=TimeUtils.millisToNanos(200);
|
||||
|
||||
long staggerTimer=0;
|
||||
int staggerOffsetX=2;
|
||||
|
||||
public LevelRenderer(Panel panel) {
|
||||
super(panel);
|
||||
this.setSprite(Sprite.TILE_SHEET);
|
||||
@ -44,6 +52,9 @@ public class LevelRenderer extends Object{
|
||||
}
|
||||
}
|
||||
}
|
||||
if (RabiClone.TIME-staggerTimer>staggerJitterWaitTime) {
|
||||
staggerOffsetX*=-1;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -138,7 +149,12 @@ public class LevelRenderer extends Object{
|
||||
}
|
||||
|
||||
protected void Draw_Animated_Object(AnimatedObject object, Transform transform){
|
||||
super.Draw_Animated_Sprite(object.getX()-this.getX()-object.getAnimatedSpr().getWidth()/2, Math.round(object.getY()-this.getY()-object.getAnimatedSpr().getHeight()/2), object.getAnimatedSpr(), object.getCurrentFrame(), transform);
|
||||
if (object instanceof PhysicsObject) {
|
||||
PhysicsObject po = (PhysicsObject)object;
|
||||
super.Draw_Animated_Sprite(object.getX()-this.getX()-object.getAnimatedSpr().getWidth()/2+(po.state==State.STAGGER?staggerOffsetX:0), Math.round(object.getY()-this.getY()-object.getAnimatedSpr().getHeight()/2), object.getAnimatedSpr(), object.getCurrentFrame(), transform);
|
||||
} else {
|
||||
super.Draw_Animated_Sprite(object.getX()-this.getX()-object.getAnimatedSpr().getWidth()/2, Math.round(object.getY()-this.getY()-object.getAnimatedSpr().getHeight()/2), object.getAnimatedSpr(), object.getCurrentFrame(), transform);
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawTile(double x, double y, Tile tile) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user