国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Delphi > 正文

Delphi實現碰撞球體完整實例代碼

2020-01-31 20:51:20
字體:
來源:轉載
供稿:網友

本文以實例描述了用Delphi實現撞擊球效果的方法,類似彈球效果。點擊“開始”按鈕,窗體中的一個綠色小球將不斷地左右撞擊運動,并且其大小不停地變化。點擊“停止”按鈕,小球停止運動。用鼠標拖動右下方的調節控件,可以調整小球運動的速度。

這里我們主要是使用Timer 控件、Panel 控件、TrackBar 控件、SpinEdit 控件、Shape控件和Button 控件來實現。重點是Delphi 的Timer 控件。在運行程序時,該控件不可見,也不能直接對它進行操作。Timer 控件每隔一定時間就會自動觸發OnTimer()事件。本例就是利用它來觸發小球運動事件的。

設計思路:該程序要解決的主要問題是如何控制小球運動以及運動過程中,小球的速度和大小。利用Timer 控件的OnTimer()事件來控制小球的運動;利用TrackBar 控件和SpinEdit控件來調節小球運動的速度。小球是由Shape 控件生成的。

一.新建工程:

(1)啟動Delphi 6.0 程序。選擇“文件”菜單下的“新建”命令,從彈出的子菜單中選擇Application 選項,則出現新建工程的Form1 窗口。
(2)選擇“文件”菜單下的“工程另存為”命令,彈出Save Unit1 As 對話框。在“保存在”列表框中選擇需要存放該窗口文件所在的目錄名;在“文件名”編輯框中填寫文件名,這里填寫“Unit1”,點擊“保存”按鈕,保存上面的選項。
(3)執行上一步后,將彈出“工程另存為”對話框。在“保存在”列表框中選擇需要存放該工程的目錄名,最好和第(2)步選取相同的目錄;在“文件名”編輯框中填寫保存處理該工程的源代碼的文件名,這里填寫“Project1”,點擊“保存”按鈕,保存上面的選項。

二.部分參數設置:

(1)激活Unit1 窗口,在“屬性”面板中設置該窗體的Caption 屬性為“運動的球體”,Color 屬性設置為“clMoneyGreen”。
(2)選擇“標準”頁上的Panel 選項,在窗體中添加Panel 控件,調整其合適的大小和位置,在“屬性”面板中設置該控件的Name 屬性為“Panel1”,BevelInner 為“bvLowered”,BevelOuter 為“blNone”,BorderStyle 設置為“bsSingle”,Color 屬性設置為“clSkyBlue”。
(3)選擇“系統”頁上的Timer 選項,在窗體中添加一個Timer 控件,在Object Inspecter面板中設置其Interval 屬性為1,Name 屬性為“Timer1”。
(4)選擇“附加”頁上的Shape 選項,在窗體中Panel1 上添加一個Shape 控件,在“屬性”面板中設置其Show Hint 屬性為“True”,Hint 屬性為“運動球體”,設置其Brush.Color 屬性為ClLime,設置其Shape 屬性為“slCircle”。
(5)選擇“標準”頁上的Button 選項,在窗體中添加三個Button 控件,調整其合適的大小和位置。在“屬性”面板中設置其Caption 屬性分別為“開始”、“停止”和“退出”。
(6)選擇Win 32 頁上的TrackBar 選項,在窗體中添加TrackBar 控件,調整其合適的大小和位置。在“屬性”面板上設置其合適的屬性。
(7)選擇Samples 上的SpinEdit 選項,在窗體中添加SpinEdit 控件,調整其合適的大小和位置。在“屬性”面板上設置其合適的屬性。

三.代碼分析:

(1)為了實現小球來回移動的功能,需要設置一個全局變量,即整數I,I 的初始值為1。當I=1 時,小球向左移動,撞到面板的左壁時,I 值變為2,此時小球向右運動,撞到面板右壁時,I 值又變為1。這樣通過I 值的變化,就實現了小球的來回運動。這部分代碼在OnTimer 事件中:

procedure TForm1.Timer1Timer(Sender: TObject);beginTimer1.interval:=trackbar1.position; //設置Timer 控件的觸發時間間隔if i=1 then //小球向左運動beginif shape1.left>0 thenbeginshape1.left:=shape1.left-10; //使小球的位置發生變化shape1.Width:=(shape1.Width+1)mod 70; //使小球所在矩形寬度發生變化shape1.Height:=(shape1.Height+1)mod 70; //使小球所在矩形高度發生變化endelsei:=2; //小球向右運動end;if i=2 thenbeginif shape1.left<(panel1.Width-shape1.Width-5) thenbeginshape1.left:=shape1.left+10 ; //使小球的位置發生變化shape1.Width:=(shape1.Width+1)mod 70;//使小球所在矩形寬度發生變化shape1.Height:=(shape1.Height+1)mod 70;//使小球所在矩形高度發生變化endelsei:=1;end;end;

(2)“開始”和“停止”按鈕控制小球是否運動,其實就是控制Timer 是否工作:

procedure TForm1.Button1Click(Sender: TObject);beginTimer1.interval:=trackbar1.position; //設置Timer 控件的觸發時間間隔Timer1.Enabled:=true; //小球開始運動end;procedure TForm1.Button2Click(Sender: TObject);beginTimer1.Enabled:=False; //小球停止運動end;

(3)TrackBar 和SpinEdit 兩個控件控制小球運動的速度,相應代碼如下:

procedure TForm1.SpinEdit1Change(Sender: TObject);begintrackbar1.position:=spinEdit1.Value; //改變運動速度end;procedure TForm1.TrackBar1Change(Sender: TObject);beginspinEdit1.value:=trackbar1.Position; //將Trackbar 值的變化通知SpinEdit 控件end;

四.Delphi彈球的完整代碼如下:

unit Unit1;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,ExtCtrls, ComCtrls, StdCtrls, Spin;typeTForm1 = class(TForm)Panel1: TPanel;Button1: TButton;Button2: TButton;TrackBar1: TTrackBar;Timer1: TTimer;Shape1: TShape;SpinEdit1: TSpinEdit;Button3: TButton;procedure Timer1Timer(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure SpinEdit1Change(Sender: TObject);procedure TrackBar1Change(Sender: TObject);procedure Button3Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;i:integer;implementation{$R *.DFM}procedure TForm1.Timer1Timer(Sender: TObject);beginTimer1.interval:=trackbar1.position; //設置Timer 控件的觸發時間間隔if i=1 then //小球向左運動beginif shape1.left>0 thenbeginshape1.left:=shape1.left-10; //使小球的位置發生變化shape1.Width:=(shape1.Width+1)mod 70;//使小球所在矩形寬度發生變化shape1.Height:=(shape1.Height+1)mod 70;//使小球所在矩形高度發生變化endelsei:=2; //小球向右運動end;if i=2 thenbeginif shape1.left<(panel1.Width-shape1.Width-5) thenbeginshape1.left:=shape1.left+10 ; //使小球的位置發生變化shape1.Width:=(shape1.Width+1)mod 70; //使小球所在矩形寬度發生變化shape1.Height:=(shape1.Height+1)mod 70;//使小球所在矩形高度發生變化endelsei:=1;end;end;procedure TForm1.Button1Click(Sender: TObject);beginTimer1.interval:=trackbar1.position; //設置Timer 控件的觸發時間間隔Timer1.Enabled:=true; //小球開始運動end;procedure TForm1.Button2Click(Sender: TObject);beginTimer1.Enabled:=False; //小球停止運動end;procedure TForm1.SpinEdit1Change(Sender: TObject);begintrackbar1.position:=spinEdit1.Value; //改變運動速度end;procedure TForm1.TrackBar1Change(Sender: TObject);beginspinEdit1.value:=trackbar1.Position; //將Trackbar 值的變化通知SpinEdit 控件end;procedure TForm1.Button3Click(Sender: TObject);beginclose; //退出end;initializationi:=1;end.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产精品久久人| 日本h视频在线观看| 国产男女无套在线播放| 日韩国产成人| 黄色国产网站在线播放| аⅴ成人天堂中文在线| 老师我好爽再深一点的视频| 国产永久免费高清在线观看视频| 国产一起色一起爱| 亚洲成人电视网| 丁香花高清在线观看完整版 | 国产不卡视频| 亚洲国产精品区| 国产免费专区| 国产亚洲精品久久久久久青梅| 国产图片综合| v天堂福利视频在线观看| 五月综合网站| 日本在线观看| 中文在线观看视频| 国产专区在线播放| 午夜在线不卡| 在线免费观看污| 中文字幕视频在线观看| 麻豆网站在线| 99久久国产视频| 天堂资源最新在线| www.狠狠色.com| av日韩国产| 国产天堂在线观看| 超碰在线观看免费| 亚洲国产日韩在线人成电影| 国产高清视频免费最新在线| 国产精品一区二三区| 青青草免费观看免费视频在线| 精品一区二区三区在线观看l| 国产九九九九| 天堂在线亚洲| 丁香六月婷婷| 好吊日视频在线观看| 欧美性受xxxx免费视频| 精品av中文字幕在线毛片| 中文字幕在线观看av| 超碰免费在线观看| 99热99re6国产在线播放| 2021av天天| 在线一区二区三区精品| 精品欧美不卡一区二区在线观看 | 国产在线观看网站| 日本免费视频www| 日本成人在线播放| 蜜桃av网站| 国产精品一区二三区| 最近最好的中文字幕2019免费| 最近久乱中文字幕| 国产女主播在线观看| 国产天堂资源| 中文av字幕| 狠狠干五月天| 国产精品你懂的在线观看| 国产二级c片l毛片| 日韩不卡高清| 国产三级在线播放| 亚洲欧美日韩一区成人| 高清av在线| 91av福利| 国产麻豆免费| 亚洲精品男人| 国产二级c片l毛片| 老师我好爽再深一点的视频| 日本中文字幕视频| av黄色在线观看| 国产鲁鲁视频在线观看特色| 国产对白国语对白| 欧美性猛交xxxxbbbb| 国产成人精品男人的天堂538| 天天操夜夜添| 精品美女视频在线观看免费软件| 免费精品国产自产拍观看| 国产一级黄色| 国内精品一区视频| 亚洲精品白浆| 国产高清免费视频| 91xxx在线观看| 久久99亚洲网美利坚合众国| 国产成人天天5g影院| 九九热免费视频| 天天插天天操| 亚洲а∨精品天堂在线| 在线午夜影院| 999精品网| 中文字幕av高清| 国产福利在线免费观看| 国产天堂资源| 国产黄色在线| 91麻豆福利| 精品国产一区二区三区不卡在线| 国产一级性片| 国产三级在线观看| 国产精品冒白浆免费视频| 国产一二在线观看| 国产午夜电影| 国产精品入口麻豆免费看| 中文字幕在线视频免费观看| 午夜国产福利在线| 国产呻吟对白刺激无套视频在线| 国产精选一区二区三区不卡催乳| 国产免费网址| 国产爆初菊在线观看免费视频网站 | 1区2区3区在线| 久久精品无码一区二区日韩av| www.成人.com| 懂色一区二区三区| 99热在线观看免费| 国产黄色在线| 亚洲精品影院在线| 超碰免费在线观看| 国产一级片网站| 99在线视频影院| 天天操夜夜做| 午夜免费福利在线观看| 国产极品一区二区三区| av一级在线| 最近久乱中文字幕| 2021av在线| 美女国产在线| 国产经典自拍视频在线观看| 伊人网站在线| 99视频资源网| 青青草视频免费在线观看| 黄色在线视频观看网站| 国产精品冒白浆免费视频| 亚洲欧美一区二区三区在线播放| 黄色毛片在线看| 在线国产网址| 国产色在线 com| 免费男女羞羞的视频网站中文字幕| 国产网站在线免费观看| 四虎成人精品在永久免费| 久热中文字幕精品视频在线| 91中文字幕| 国产一级片麻豆| 好男人免费精品视频| 伊人影院在线视频| 国产青青视频| 国产特级毛片| 欧美日韩国产亚洲沙发| 精品精品导航| 国产激情在线| 国产黄在线观看| 最近最好的中文字幕2019免费| 老鸭窝av在线| 黄色av网站在线| 开心丁香婷婷深爱五月| 国产成人亚洲欧美电影| 99视频免费在线观看| 嫩草在线播放| 欧美精品小视频| 日本视频一二三区中文字幕| 国产黄色av免费看| 国产精品久久久久久久久鸭| 欧美日韩性视频一区二区三区| 精品一区二区三区在线观看l| 国产乱xxⅹxx国语对白| 免费观看一二区视频网站| 日本在线观看| www.麻豆av.com| www.亚洲视频| 狠狠操狠狠色| 久青青在线观看视频国产| 青草av在线| 国产毛片毛片| 国产精品视频一区二区图片| 国产精品777一区二区| 在线中文免费视频| 午夜在线视频播放| 日本高清中文字幕在线| 青青草视频在线观看| 欧美日韩亚洲第一页| 国产乱视频在线观看播放| 国产一级又黄| 午夜影院免费看| 成人福利视频导航| 国产精品爱久久久久久久小说| 国产网站在线播放| 精品国产一区二区三区久久久狼牙| 精品电影在线| www.夜夜操.com| 国产亚洲依依| 四虎久久影院| 国产一二三四| jlzzjlzz欧美大全| 国产视频精选在线| 午夜小视频在线| 国产精品自拍在线观看| 在线免费国产| 国产写真视频在线观看| 亚洲尤物在线视频| 日本中文字幕高清视频| 国产成人精品18|