オブジェクトをイーズインおよびイーズアウトさせようとしています。
しかし、これをレンダリングするとうまくいきますが、常に他のオブジェクトとは正反対の動作をする別のオブジェクトが得られます。
そのため、オブジェクトが上に向かっているとき、「ゴースト」オブジェクトは真逆で下に向かっています。かなり奇妙な画面の引き裂き効果が得られます。vsync をオンにしようとしましたが、それがさらに悪化したようです。オブジェクトは slick2d の長方形です。また、数秒間完全に消えるか、寸法を変更することなく永久に直線に変わる習慣もあります. アップデートコードです。
@Override
public void update(GameContainer gc, StateBasedGame game, int delta) throws SlickException {
// TODO Auto-generated method stub
Input i=gc.getInput();
d=2000/delta;
if(i.isKeyDown(Input.KEY_DOWN)){
if(frames<d)
frames++;
if(frames==1)b=hele.getY();
hele.setY(Quad.easeInOut(frames, b, 720-b-50, d));//the 50 is the size of the sprite
//c+=10;
}
else if(i.isKeyDown(Input.KEY_UP)){
if(frames<d)
frames++;
if(frames==1)b=hele.getY();
hele.setY(Quad.easeInOut(frames, b, -b, d));
}
}
イーズ イン アウトの式は、こちらの githubで見つけることができます。
キーが別の場所で離されると、フレーム var がリセットされます。スプライトをヘリコプターのように動作させようとしています。ヘリコプターのようにする方法を知っている場合は、知識を共有してください!