akhir;
akhir;
PROSEDURTBBounceThread. Menjalankan;
mulai
Sementara tidak dihentikan, lakukan
mulai
Sinkronisasi (MoveShape);
akhir;
akhir;
konstruktorTBounceThread. Buat(Ditangguhkan: Boolean; Bentuk: TShape; XSpeed, YSpeed: Integer);
mulai
warisanBuat(Ditangguhkan);
FBentuk: ΚBentuk;
FXSpeed: ΚXSpeed; {kecepatan sumbu X}
FYSpeed: ΚYSpeed; {Kecepatan arah sumbu Y}
GratisDiTerminate:ΚBenar;
akhir;
akhir.
Ini adalah permainan bola bemper multi-utas. Anda dapat memiliki beberapa bola berbeda, yang berasal dari utas berbeda dan bertabrakan di layar secara terpisah. Tentu saja, karena tampilan beberapa bola yang sedang berjalan akan mengoperasikan sumber daya VCL secara bersamaan, demi keamanan, kami menambahkan Sinkronisasi (MoveShape) di bagian eksekusi proses Execute untuk memanggil proses MoveShape, sebenarnya, di mana pun sumber daya VCL diperlukan untuk dioperasikan, seperti formulir dan bitmap, harus ditambahkan ke panggilan Sinkronisasi.
Saat mengeksekusi, kita dapat membuat program baru, kemudian menambahkan unit BncThrd di atas di bagian USES, dan kemudian menambahkan dua kontrol Shape Shape1 dan Shape2 ke bentuknya FORM1. Shape1 bisa berupa persegi panjang dan Shape2 adalah lingkaran. Tambahkan kode berikut untuk membuat persegi panjang dan lingkaran bergerak.
prosedurTForm1. Button1Click(Pengirim: TObject);
mulai
Thread TBounce. Buat(Salah,Bentuk1,1,2);
Thread TBounce. Buat(Salah,Bentuk2,2,3);
akhir;
Blog Penulis: http://blog.csdn.net/zou5655/