わかりました、何が悪いのかわかりました。
問題は、フレームを変更するアルゴリズムが間違っていて、空白のフレームにスキップすることがあったことです。コードを見てください:
Rectangle rectWater = new Rectangle(((currentFrame % numerOfWaterSpriteFrames) % horizontalNumerOfWaterSpriteFrames) * (int)sizeOfWaterFrame.X, ((aktualnaFramka % numerOfWaterSpriteFrames) / horizontalNumerOfWaterSpriteFrames) * (int)sizeOfWaterFrame.Y, (int)sizeOfWaterFrame.X, (int)sizeOfWaterFrame.Y);
//The correct code
最初と 2 番目の Rectangle コンストラクター パラメーターで、numerOfWaterSpriteFramesによってcurrentFrameをモジュール化していませんでした。ちょうどこのような:
Rectangle rectWater = new Rectangle((currentFrame % horizontalNumerOfWaterSpriteFrames) * (int)sizeOfWaterFrame.X, (aktualnaFramka / horizontalNumerOfWaterSpriteFrames) * (int)sizeOfWaterFrame.Y, (int)sizeOfWaterFrame.X, (int)sizeOfWaterFrame.Y);
//The wrong code
今は大丈夫です。