Как отключить действие функции?

danshi

Т.е. процедуры! ребята, подскажите пожалуйста. по курсовому сделал задание: игру гонки, но есть баг один. после того как нажмешь на кнопку пауза, все останавливается, но машина все равно может двигаться - если нажимать кнопки передвижения. я уже голову сломал как отключить процедуру передвижения.procedure TMainForm.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin // Управление машиной кнопками мышки If (Button = mbLeft) and (Car.Left > 10) then Car.Left := Car.Left - (Car.Width div 2);If (Button = mbRight) and (Car.Left < (450 - Car.Width)) then Car.Left :=Car.Left + (Car.Width div 2);end;
2 ответа

danshi

ну, ты можешь ввести булевой параметр, например paused:
var
paused: boolean;
вот, теперь пишешь, что при нажатии кнопки паузы переменная paused принимала значение true, а при продолжении игры принимала значение false. потом пишешь в FormMouseDown
procedure TMainForm.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
// Управление машиной кнопками мышки
If (Button = mbLeft) and (Car.Left > 10) and (paused = false) then
Car.Left := Car.Left - (Car.Width div 2);
 
If (Button = mbRight) and (Car.Left < (450 - Car.Width)) and (paused = false) then
Car.Left := Car.Left + (Car.Width div 2);
 
end;
вот и все, должно получиться


danshi

дружище, большое тебе человеческое - спасибо!!!