到目前爲止,我有一個跳躍動畫。它使用整數「跳躍」來循環創建跳躍動畫的圖像數組,另外,根據跳躍的數量,高度「PositionY」將增加或減少,當跳到10時,動畫結束.....這是跳動畫代碼以窗口形式跳轉動畫
public Bitmap Jump_Frame2Draw()
{
Jump_Frames = new Bitmap[] { Jump_1, Jump_2, Jump_3, Jump_4, Jump_5, Jump_6, Jump_7,Jump_7,
Jump_8, Jump_8 };
if (jump < Jump_Frames.Length)
{
if (jump <= 3)
{
PositionY -= 30;
}
else if (jump == 8 || jump == 10)
{
PositionY += 0;
}
else
{
PositionY += 24;
}
jumpFrame = Jump_Frames[jump];
jump++;
if (jump == 10)
{
jumpTimer.Stop();
isJumping = false;
jump = 0;
standTimer.Start();
Invalidate();
}
}
tracer = jumpFrame.GetPixel(1, 1);
jumpFrame.MakeTransparent(tracer);
isJumping = true;
return jumpFrame;
}
通過使用定時器和油漆的事件,我可以簡單地調用這個方法,每x秒序畫它,當我按我指定的跳躍鍵。 ..現在我的問題是讓我說我正在跳躍動畫的中間,我想回去。我該怎麼做呢。把它看作是一個雙跳。另外,跳躍和高度(PositionY)直接相關。所以如果跳躍是0,1,2或3,那麼高度是214 - (跳躍+ 1)* 30)。否則,如果跳躍是(5-9)高度是94 +(跳躍-4)* 24)。所以任何圖像將被繪製的最大高度是94.(它的窗體如此向上和向下都是向上的......(0,0)位於左上方)。
///////////
對於視覺的角度來看,這是類似於我跳動畫。這個在時間上稍短,但是我能找到的最好。
跳轉動畫:https://media.giphy.com/media/wXervlFEqohO0/giphy.gif
現在想象這傢伙是鐵人,他用他的噴氣助推器跳起來,但現在雖然還在空中時,他決定只是去直線上升。
Thx尋求幫助。
噢,順便說一句,只是想說你的看法thx,激勵我走向正確的方向,我學到了什麼是接口:)。如果你想看到工作代碼,請告訴我。 – Jamisco
steered * ....拼寫更正 – Jamisco
很高興聽到您的回覆! –