程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi彈球(碰撞球體)代碼實現

Delphi彈球(碰撞球體)代碼實現

編輯:Delphi

用Delphi實現的撞擊球效果,類似彈球效果,。點擊“開始”按鈕,窗體中的一個綠色小球將不斷地左右撞擊運動,並且其大小不停地變化。點擊“停止”按鈕,小球停止運動。用鼠標拖動右下方的調節控件,可以調整小球運動的速度。運行截圖如下示:

Delphi彈球(碰撞球體)代碼

以下是Delphi彈球完整代碼:

vIEw source print? 01 unit Unit1; 02 interface 03 uses 04 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 05 ExtCtrls, ComCtrls, StdCtrls, Spin; 06 type 07 TForm1 = class(TForm) 08 Panel1: TPanel; 09 Button1: TButton; 10 Button2: TButton; 11 TrackBar1: TTrackBar; 12 Timer1: TTimer; 13 Shape1: TShape; 14 SpinEdit1: TSpinEdit; 15 Button3: TButton; 16 procedure Timer1Timer(Sender: TObject); 17 procedure Button1Click(Sender: TObject); 18 procedure Button2Click(Sender: TObject); 19 procedure SpinEdit1Change(Sender: TObject); 20 procedure TrackBar1Change(Sender: TObject); 21 procedure Button3Click(Sender: TObject); 22 private 23 { Private declarations } 24 public 25 { Public declarations } 26 end; 27 var 28 Form1: TForm1; 29 i:integer; 30 implementation 31 {$R *.DFM} 32 procedure TForm1.Timer1Timer(Sender: TObject); 33 begin 34 Timer1.interval:=trackbar1.position; //設置Timer 控件的觸發時間間隔 35 if i=1 then //小球向左運動 36 begin 37 if shape1.left>0 then 38 begin 39 shape1.left:=shape1.left-10//使小球的位置發生變化 40 shape1.Width:=(shape1.Width+1)mod 70;//使小球所在矩形寬度發生變化 41 shape1.Height:=(shape1.Height+1)mod 70;//使小球所在矩形高度發生變化 42 end 43 else 44 i:=2//小球向右運動 45 end; 46 if i=2 then 47 begin 48 if shape1.left<(panel1.Width-shape1.Width-5then 49 begin 50 shape1.left:=shape1.left+10 //使小球的位置發生變化 51 shape1.Width:=(shape1.Width+1)mod 70//使小球所在矩形寬度發生變化 52 shape1.Height:=(shape1.Height+1)mod 70;//使小球所在矩形高度發生變化 53 end 54 else 55 i:=1; 56 end; 57 end; 58 procedure TForm1.Button1Click(Sender: TObject); 59 begin 60 Timer1.interval:=trackbar1.position; //設置Timer 控件的觸發時間間隔 61 Timer1.Enabled:=true//小球開始運動 62 end; 63 procedure TForm1.Button2Click(Sender: TObject); 64 begin 65 Timer1.Enabled:=False//小球停止運動 66 end; 67 procedure TForm1.SpinEdit1Change(Sender: TObject); 68 begin 69 trackbar1.position:=spinEdit1.Value; //改變運動速度 70 end; 71 procedure TForm1.TrackBar1Change(Sender: TObject); 72 begin 73 spinEdit1.value:=trackbar1.Position; //將Trackbar 值的變化通知SpinEdit 控件 74 end; 75 procedure TForm1.Button3Click(Sender: TObject); 76 begin 77 close; //退出 78 end; 79 initialization 80 i:=1; 81 end.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved