執行緒中畫背景等元素

2021-09-02 09:39:35 字數 795 閱讀 3386

做執行緒小遊戲的時候,需要繪製背景或者一些遊戲中的小元素。這時候,可以開乙個佇列和執行緒,其中佇列用於存放需要繪畫的背景,元素等等。執行緒則專門用於繪製,即只需要在主類中執行該類的start方法即可。需要注意的是,此處的繪製需要先將這些元素畫在一張快取上:bufferedimage.

bufferedimage是image的乙個子類,bufferedimage生成的在記憶體裡有乙個影象緩衝區,利用這個緩衝區我們可以很方便的操作這個,通常用來做修改操作如大小變換、變灰、設定透明或不透明等。

bufferedimage bfi=new bufferedimage(jfa.getwidth(),jfa.getheight(),bufferedimage.type_int_rgb);

graphics gr=bfi.getgraphics();

for(int i=0;i然後在佇列中,依次取出各個元素,用快取的畫筆將其繪在快取上。最後再用窗體上得到的畫筆將這張快取畫在窗體上即可。

需要注意的是,在用到的時候,需要在主類中,先將各個元素入佇列,arraylist< thing> list=new arraylist();

boss boss1=new boss();

list.add(boss1);

然後直接呼叫繪製執行緒中的start方法即可
movethread move=new movethread();

move.start();

如果不需要畫很多元素上去,則不用入佇列,直接在建立快取後,然後先將這些元素畫到快取上之後,再畫到窗體上即可。

win32畫窗體背景

背景 應產品需求將視窗載入時的loading.gif換了一張,原先是白底的gif,然後換了一張黑底的gif,放上去真的好醜,因為窗體的背景色是白色。然後就需要我給窗體畫個背景顏色融合這個新的gif,踩了很多opengl ondraw等很多坑,這裡先po一下 void onpaint hdc hdc ...

塗手畫雅View背景變黑

如果設定成bitmap.compress compressformat.jpeg,100,fos 的背景都是黑色的 bitmap.erasecolor color.white 填充背景顏色 這個 都是白色的加上這個都是白色 mbitmap getbitmapbycolor screenwidth,s...

執行緒 守護執行緒 背景執行緒 執行緒傳參

守護執行緒 背景執行緒 12 9 2017 using system using system.collections.generic using system.linq using system.text using system.threading.tasks using system.thre...