AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bild kreisen lassen

Offene Frage von "crusor"
Ein Thema von crusor · begonnen am 26. Jan 2008 · letzter Beitrag vom 27. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
crusor

Registriert seit: 25. Jan 2008
26 Beiträge
 
#1

Bild kreisen lassen

  Alt 26. Jan 2008, 13:41
Hi,

ich möchte mit einem Timer ein Bild kreisen lassen, dass es ,wenn es z.B. left= 200 erreicht hat, stopt und sich dann nach unten bewegt usw. . Wie funktioniert dies genau?

Ich habe schon versucht, dass es bei left=200 stopt, aber es funktionierte nicht:
(ich habe einen button, einen timer und ein bild)


procedure TForm1.Button1Click(Sender: TObject);
begin
if button1.caption='Lauf' then begin Timer1.Enabled:=true end

else if image1.left=200 then begin Timer1.enabled:=false end


end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if image1.left=40 then Timer1.enabled:=false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
image1.left:=image1.left+10; Timer1.Interval:=1000;


end;



Ich bedanke mich schonmal im vorraus für eure Hilfe.

gruß crusor.
  Mit Zitat antworten Zitat
crusor

Registriert seit: 25. Jan 2008
26 Beiträge
 
#2
  Alt 26. Jan 2008, 13:44
(PS: habe turbo delphi 2006, nutze aber auch delphi 7)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Bild kreisen lassen

  Alt 26. Jan 2008, 13:46
hallo und herzlichwillkommen in der dp !!!

da musst du auf mathe 5 klasse zugreifen und nen bissel mi pi arbeiten und rechnungen aufstellen!!
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
crusor

Registriert seit: 25. Jan 2008
26 Beiträge
 
#4
  Alt 26. Jan 2008, 13:52
Das Bild muss nicht unbedingt "kreisen", sondern soll sich nach rechts bewegeb, dann nach einer weile runter, dann nach links, dann nach oben und wieder nach rechts.
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Bild kreisen lassen

  Alt 26. Jan 2008, 13:57
dann kannst du mit sowas hier arbeiten:
image1.left := image1.left - 1; das würde immer einen pixel abziehen!!
das ganze kannst du dann noch kontrollieren mit einer if abfrage im timer wie zb so:

Delphi-Quellcode:
if image1.left <= 10 then
// so geht er nach links bis 10 pixel und dann kannst mit einer anderen richtung weiter machen
  begin

  end;
das geht natürlich mit allen richtungen!!
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
crusor

Registriert seit: 25. Jan 2008
26 Beiträge
 
#6
  Alt 26. Jan 2008, 14:27
Kann man auch das schreiben:
if image1.left => 10 then .... ?

das bild soll sich ja nach rechts bewegen.


gruß crusor
  Mit Zitat antworten Zitat
crusor

Registriert seit: 25. Jan 2008
26 Beiträge
 
#7
  Alt 26. Jan 2008, 14:39
ich hab jetzt:

procedure TForm1.Button1Click(Sender: TObject);
begin
if button1.caption='Lauf' then begin Timer1.enabled:=true; button1.Caption:='Lauf stop' end
else if button1.caption='Lauf stop' then Timer1.enabled:=false; button1.caption:='Lauf' end;




procedure TForm1.Timer1Timer(Sender: TObject);
begin
image1.left:=image1.Left+10; Timer1.Interval:=1000;
if image1.Left >= 50 then begin image1.Top:=image1.top+10 end
else if image1.Top=50 then begin image1.Left:=image1.left-10 end
else if image1.left<= 50 then begin image1.top:=image1.top-10 end
else if image1.Top = 0 then begin image1.left:=image1.left+10 end


Das funktioniert leider nicht so wie es soll.
Kann mir jemand sagen was der Grund ?
danke im vorraus!

gruß crusor
  Mit Zitat antworten Zitat
crusor

Registriert seit: 25. Jan 2008
26 Beiträge
 
#8

Re: Bild kreisen lassen

  Alt 26. Jan 2008, 15:27
hallo,

hab das problem soweit gelöst:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if (button1.caption='Lauf') then begin Timer1.enabled:=true; button1.Caption:='Lauf stopend
else if button1.caption='Lauf stopthen begin Timer1.enabled:=false;button1.caption:='Laufend

end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
image1.left:=image1.Left+10; Timer1.Interval:=400;
if image1.left >= 50 then begin Timer2.enabled:=true; Timer1.enabled:=false end

end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
image1.top:=image1.Top+10; Timer2.Interval:=400;
if image1.Top = 50 then begin Timer3.enabled:=true; Timer2.enabled:=false end

end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
image1.left:=image1.left-10; Timer3.Interval:=400;
if image1.Left <= 0 then begin Timer3.enabled:=false; Timer4.Enabled:=true end

end;

procedure TForm1.Timer4Timer(Sender: TObject);
begin
image1.Top:=image1.Top-10; Timer3.Interval:=400;
if image1.Top = 0 then begin Timer4.Enabled:=false; Timer1.Enabled:=true end

end;

Wenn ich aber irgendwo anhalte und dann weiterlaufen lasse, bewegt er sich nicht auf derselben stelle weiter.

Kann mir da jemand bitte helfen?

Ich danke für eure Hilfe schonmal im vorraus .
  Mit Zitat antworten Zitat
Crazy Ivan
(Gast)

n/a Beiträge
 
#9

Re: Bild kreisen lassen

  Alt 26. Jan 2008, 15:45
das ist weil du mit dem button nur timer1.enabled:=true; aufrufst. demzufolge geht das image einen anderen weg
  Mit Zitat antworten Zitat
crusor

Registriert seit: 25. Jan 2008
26 Beiträge
 
#10

Re: Bild kreisen lassen

  Alt 26. Jan 2008, 16:55
Nun hab ich:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if button1.caption='Lauf'  then begin Timer1.enabled:=true; button1.Caption:='Lauf stopend
else if (button1.caption='Lauf stop' )and (Timer1.enabled=true) then begin Timer1.enabled:=false;button1.caption:='Laufend
else if (button1.caption='Lauf stop') and (Timer2.enabled=true) then begin Timer2.enabled:=false;button1.caption:='Laufend
else if (button1.caption='Lauf stop') and (Timer3.enabled=true) then begin Timer3.enabled:=false;button1.caption:='Laufend
else if (button1.caption='Lauf stop') and (Timer4.enabled=true) then begin Timer4.enabled:=false;button1.caption:='Laufend

end;




procedure TForm1.Timer1Timer(Sender: TObject);
begin
image1.left:=image1.Left+10; Timer1.Interval:=400;
if image1.left >= 50 then begin Timer2.enabled:=true; Timer1.enabled:=false end



end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
image1.top:=image1.Top+10; Timer2.Interval:=400;
if image1.Top = 50 then begin Timer3.enabled:=true; Timer2.enabled:=false end

end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
image1.left:=image1.left-10; Timer3.Interval:=400;
if image1.Left <= 0 then begin Timer3.enabled:=false; Timer4.Enabled:=true end

end;

procedure TForm1.Timer4Timer(Sender: TObject);
begin
image1.Top:=image1.Top-10; Timer3.Interval:=400;
if image1.Top = 0 then begin Timer4.Enabled:=false; Timer1.Enabled:=true end

end;
Das funktioniert schon besser, aber noch nich perfekt.
Könnt mir jemand sagen was noch fehlt, oder was falsch ist?

danke schonmal
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz