Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Image1.Canvas.brush.Color := clwhite;
Form1.Image1.Canvas.Rectangle(0,0,1000,1000);
x0:=500;
y0:=200;
x1:=20;
y1:=50;
x2:=40;
y2:=40;
Form1.Image1.Canvas.Pen.Color := clblack;
//tryska
Form1.Image1.Canvas.MoveTo(x0-12,y0-60);
Form1.Image1.Canvas.LineTo(x0-12,y0-180);
Form1.Image1.Canvas.MoveTo(x0+12,y0-60);
Form1.Image1.Canvas.LineTo(x0+12,y0-180);
// tryska
Form1.Image1.Canvas.Pen.Color := clblack;
//nadoba
Form1.Image1.Canvas.MoveTo(x0-x1,y0-y1);
Form1.Image1.Canvas.LineTo(x0-x2,y0-y2);
Form1.Image1.Canvas.LineTo(x0-x2,y0+y2);
Form1.Image1.Canvas.LineTo(x0-x1,y0+y1);
Form1.Image1.Canvas.LineTo(x0+x1,y0+y1);
Form1.Image1.Canvas.MoveTo(x0+x1,y0+y1);
Form1.Image1.Canvas.LineTo(x0+x2,y0+y2);
Form1.Image1.Canvas.LineTo(x0+x2,y0-y2);
Form1.Image1.Canvas.LineTo(x0+x1,y0-y1);
Form1.Image1.Canvas.MoveTo(x0+188,y0+0);
Form1.Image1.Canvas.LineTo(x0+188,y0-100);
Form1.Image1.Canvas.MoveTo(x0+212,y0+0);
Form1.Image1.Canvas.LineTo(x0+212,y0-100);
//nadoba
end;
Celkem jednoduchy program potrebuju ... je to nadoba do ktere se ma vsunout tryska po kliknuti na tlacitko... Zajima me jak to udelat ? :-O Vykreslene uz mam nadobu i trysku ale jak udelat aby se hybala to mi hlava nebre .. Tak diky za kazdou pomoc
Offline
No, v Delphi by mohl být nějaký timer (časovač)? Trysku je potřeba udělat jako nějaký OBJEKT, a pak by se po kliknutí dal spustit timer, a souřadnice trysky navázat na jeho tikání. Pokud nemá, možno zkusit navázat pohyb trysky na čas počítače... Anebo po kliknutí spustit proceduru která by obsahovala obyčejný cykl počítající souřadnice trysky, třeba s nějakou pauzou mezi jednotlivými kroky.
Offline
↑ Rassend:
Trysku si namaluj na nový obrázek (třeba Image2)
Umísti ho na počáteční souřadnice a rozpočítej si o kolik má tryska klesnout (třeba o 100 pixelů)
V obsluze kliknutí tlačítka pak udělej v cyklu něco takového
for i := 1 to 10
begin
Application.ProgressMessages;
Image2.Top := Image2.Top+10;
Sleep(60);
end;
Offline