要用GreateGrahpics函數(shù),比如要向 Panel1,填充顏色:
成都創(chuàng)新互聯(lián)公司是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的網(wǎng)站設(shè)計制作、成都網(wǎng)站制作,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10多年品質(zhì),值得信賴!
Dim g As Graphic=Panel1.CreateGraphics
Dim b as New Brush(Color.Blue)
g.FillRectangle(b,Panel1)
寫的比較粗,意思就是這樣的,你可以邊看幫助邊細(xì)細(xì)完成
您是做游戲畫面?
如果游戲簡單的,看能否用Line控件代替畫線,這樣只要visible=false就擦除了,但如果有重疊問題,就要考慮把其他的線或坦克什么的都用控件代替。注意picturebox是否有autoredraw屬性,有的話設(shè)置為true。有問題的話,把窗體的autoredraw也true,防止控件會擦除畫上去的東西。
但是樓主要明白一個問題,那些絢麗多彩的游戲畫面,不管2D還3D,都是一幀畫面一幀畫面的從頭畫一次的,每秒至少要畫十幾幀以上,3D游戲很關(guān)注一個fps參數(shù),就是每秒畫多少幀的意思,看您的電腦性能每秒能畫多少幀畫,如果畫不出十幾幀以上,感覺就卡了。
實際上游戲開發(fā)是先做游戲引擎,就是把這些復(fù)雜的純繪圖代碼封裝起來,做成一個工具軟件,然后再把游戲里的物品圖片放上去,設(shè)置動作、劇情就可以了。有興趣可以百度一下“游戲開發(fā)引擎”,有一些通用的游戲引擎可以借用。
如果是從底層開始寫代碼,也不是用VB這些繪圖語句能做的,太慢了,擦掉這條線都夠你抓狂的。一般的,簡單的畫圖可以用API的繪圖函數(shù),高檔的就要用DirectX了?;蛘哐b個Visual Studio .net 2008,有個XNA,專門針對游戲編程的,但是我不知這個XNA是否只能支持C#語言。
補充聲明一下,本人只是愛好者,不是專業(yè)人士,以上的回答是本人在自學(xué)過程中積累的一些膚淺了解,除了XNA很久前做過一點代碼外,其他的都是理論沒有實踐。
參考一下下面這段代碼:
‘?首先picturebox1?加載一張圖像
FolderBrowserDialog1.Description?=?"選擇圖片文件夾導(dǎo)入圖片"
FolderBrowserDialog1.ShowDialog()
path?=?FolderBrowserDialog1.SelectedPath()
If?path?=?""?Then?Return
strSrcFile?=?Dir(path??"\*.tif")
PictureBox1.Image?=?Image.FromFile(path??"\"??strSrcFile)
’??然后再在picturebox1中用graphic畫圖而不清空原圖像
'?建立一個畫圖對象
Dim?g?As?Graphics?=?Me.PictureBox1.CreateGraphics
‘?定義畫筆
Dim?myPen?As?System.Drawing.Pen?=?New?System.Drawing.Pen(Color.Blue)
’?畫出矩形框并且填充顏色(顏色保持50%的透明度,使得下面原來的圖片背景能看得到)
g.DrawRectangle(myPen,?New?System.Drawing.Rectangle(50,?50,?30,?20))
g.FillRectangle(New?SolidBrush(Color.FromArgb(50,?Color.YellowGreen)),?New?System.Drawing.Rectangle(50,?50,?30,?20))
'?最后釋放畫圖對象
g.Dispose()
效果大致如下圖所示:
雙擊button,在代碼窗中寫入下面這句話:
this.pictureBox1.Image = null
就可以實現(xiàn)你說的功能啦