如何在QML中利用Sprite來做我們需要的動畫

2021-07-03 16:35:54 字數 1817 閱讀 5936

在遊戲中動畫的設計非常中要。在qml中,它提供了豐富的animation,但是有時我們需要對影象進行變化,就像放電影一樣。在今天的這篇文章中,我們將設計乙個可以變化影象的動畫。我們可以通過qt所提供的sprite功能來實現。

為了設計的方便,我們先設計乙個我們自己的bear動畫,這個動畫的影象大小為: 2048x256。它剛好是8副圖256x256

在我們的sprite設計中,我們想按照上述影象顯示的順序依次顯示每個影象,這樣就可以形成乙個可以連續變化的動畫效果。

直接把我們的動畫設計檔案bearsprite貼出來:

import qtquick 2.0

item

}sprite

}sprite

}sprite

}sprite

}sprite

}sprite

}sprite

}sprite }}

在上面的設計中,我們使用了乙個spritesequence,裡面放了一些我們所需要的sprite。

sprite 

}

這裡的每個sprite的設計都幾乎都差不多。每個sprite都有乙個自己的名字。這裡注意framex。它其實是在我們上面顯示的圖里的x座標位置。比如256x5,表示的是滴5副圖。另外,我們的frameheight和framewidth也是和原圖的大小是一樣的,雖然在實際的顯示中這個大小可以在main.qml中可以設定。

使用同樣的方法,我們可以做乙個fishsprite。

執行我們的qml應用:

專案的原始碼在:

如何實現QML中的pathview

在之前的很多練習及教程中,我們展示了如何在qml語言設計中使用listview及gridview來展示我們所需要的效果 在今天的教程中,我們來深刻體會一下如何使用qml語言中的pathview來展示我們的效果 在pathview中,我們可以用它來顯示旋轉木馬的效果 如果大家有使用我們的ubuntu ...

如何在程式中延時

方法一 使用sleep函式,如延時2秒,用sleep 2000 方法二 使用sleep函式的不利在於延時期間不能處理其他的訊息,如果時間太長,就好象宕機一樣,利用coledatetime類和coledatetimespan類實現延時就不會出現那樣的問題 coledatetime start time...

如何在jupyter notebook中顯示目錄?

如何在jupyter notebook中顯示目錄?通過目錄,能很清楚看到文字的構架。下面就介紹jupyter notebook安裝目錄外掛程式的步驟。1.首先,在anaconda prompt anaconda3 裡執行 pip install jupyter contrib nbextension...