作者er450203 (熱可可棉花糖)
看板Visual_Basic
標題[.NET] 想問關於RECTANGLE函數
時間Sat Jan 17 04:13:14 2009
基本上在寫一個很簡單的球形上下左右移動
用Rectangle再裡面畫個圓形
按鈕按會增加Rectangle的X,Y值
但是會一直複製新的出來
所以加了先清除畫布再增加X,Y值
有甚麼辦法可以不要讓他複製嗎?
而且Rectangle移動一次跑好慢Q口Q
如果不用Rectangle
直接在按鈕內寫新增圓形
那個圓形就跑起來很快
有人知道這是為甚麼嗎QAQ?
謝謝 :)
這是我寫的程式碼OAO
Dim rect
As New Rectangle(0,0,50,50)
Dim Ball
As Graphics
Dim Pen
As New SolidBrush(Color.Black)
Dim x,y
As Integer
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
Private Sub Form1_Paint (....
Ball = Me.CreateGraphics
'表單為畫圖物件
Ball.FillEllipse ( Pen , rect )
'在rect畫個圓
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
Private Sub Form1_Load (....
x = rect.Location.X
y = rect.Location.Y
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
Private Sub btnTop_Click (....
Ball.Clear ( Color.White )
'先把原本的圓清除在畫新的
rect.Location.Y = y - 50
'一次移動50
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
Private Sub btnLeft_Click (....
Ball.Clear ( Color.White )
'先把原本的圓清除在畫新的
rect.Location.X = x - 50
'一次移動50
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
因為另外兩個都差不多所以就不寫了
不先清除好像就只會複製而且只會在原地上下左右50複製而已
如果不用Rectangle寫的話
也是一樣先清除前面的圓
然後在按鈕先寫x或y增加50
再寫 Ball.FillEllipse ( Pen , x , y , 50 , 50 )
因為這題目老師還沒交...
而課本上也只有提供方法 說明很少
範例也並沒有移動的 只好亂摸 囧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.28.143
1F:→ MOONRAKER:太深奧了,看不懂。rect不是用來給定圓的大小位置嗎? 01/17 09:13
2F:→ MOONRAKER:那以下不用rectangle又是怎樣寫? 01/17 09:13
3F:→ er450203:啊啊 抱歉沒有說明很好 囧" 01/18 00:33
※ 編輯: er450203 來自: 61.224.34.32 (01/18 01:31)
※ 編輯: er450203 來自: 61.224.34.32 (01/18 01:39)
4F:→ er450203:對不起啊啊(鞠躬) 加上程式碼了 不太會說明就是了 囧 01/18 01:40
5F:→ MOONRAKER:唔,這樣我也不懂了,使用rectangle跟不用居然會差那麼 01/18 20:17
6F:→ MOONRAKER:多?這真要實作下去才知道,我沒比較過 X( 01/18 20:18
7F:→ er450203:嗯嗯 沒關係 謝謝你囉: D 01/20 02:09