끝;
끝;
PROcedureTBounceThread. 실행하다;
시작하다
종료되지 않은 동안do
시작하다
동기화(모양 이동);
끝;
끝;
생성자TBounceThread. Create(일시 중단: 부울; 모양: TShape; XSpeed, YSpeed: 정수);
시작하다
상속받은Create(일시중단);
FShape: Κ모양;
FXSpeed: ΚXSpeed {X축 속도}
FYSpeed: ΚYSpeed; {Y축 방향의 속도}
FreeOnTerminate:ΚTrue;
끝;
끝.
이것은 멀티 스레드 범퍼 볼 게임으로, 서로 다른 스레드에 속하고 화면에서 독립적으로 충돌하는 여러 개의 서로 다른 공을 가질 수 있습니다. 분명히 여러 개의 공이 실행되는 것을 표시하면 VCL 리소스가 동시에 작동하므로 안전을 위해 Execute 프로세스의 실행 부분에 동기화(MoveShape)를 추가하여 실제로 VCL 리소스가 필요한 곳이면 어디서나 MoveShape 프로세스를 호출합니다. 작동시키려면 양식, 비트맵 등을 동기화 호출에 추가해야 합니다.
실행 시 새 프로그램을 생성한 다음 USES 섹션에 위의 BncThrd 유닛을 추가한 다음 두 개의 Shape 컨트롤 Shape1 및 Shape2를 양식에 추가할 수 있습니다. Shape1은 직사각형이 될 수 있고 Shape2는 원이 될 수 있습니다. 직사각형과 원을 움직이게 하려면 다음 코드를 추가하세요.
절차TForm1. Button1Click(보내는 사람: TObject);
시작하다
TBounceThread. 생성(거짓,모양1,1,2);
TBounceThread. 생성(거짓,모양2,2,3);
끝;
작성자 블로그: http://blog.csdn.net/zou5655/