AGB  ·  Datenschutz  ·  Impressum  







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

Mit Timer images verschieben

Offene Frage von "Skullschildi"
Ein Thema von Skullschildi · begonnen am 1. Mär 2006 · letzter Beitrag vom 1. Mär 2006
Antwort Antwort
Skullschildi

Registriert seit: 7. Jan 2006
94 Beiträge
 
Delphi 7 Enterprise
 
#1

Mit Timer images verschieben

  Alt 1. Mär 2006, 14:43
Hallo mal wieder. Bei der entwicklung meines Jump and nthing else games bin ich beim Jumpen auf ein problem gestossen.
Delphi-Quellcode:
var hoch : integer; //bei formcreate als 10 definiert

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if hoch > -10 then
begin
hoch := hoch - 1;
image2.Top := image2.Top - hoch;
image3.Top := image3.Top - hoch;
image4.Top := image4.Top - hoch;
image6.Top := image6.Top - hoch;
     end
     else
     if hoch < -10 then
     begin
     hoch := hoch + 1;
image2.Top := image2.Top - hoch;
image3.Top := image3.Top - hoch;
image4.Top := image4.Top - hoch;
image6.Top := image6.Top - hoch;

timer2.enabled := false;

end ;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin if timer2.enabled = false then
timer2.enabled := true;

end;
die Bewegung endet, wo sie soll, was für mich heisst, des ding hört auf zu arbeiten wo es soll. Aber der Timer is weiterhin an. des stört mich n bissl, denn im spiel sollte man mehrmals springen^^. weiss jemand ne Lösung?
Ehe man über den Berg kommt, soll man nicht Juchhe schreien.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Mit Timer images verschieben

  Alt 1. Mär 2006, 14:56
Eigentlich bin ich immer der Meinung das man in einem Programm so wenig Timer verwendet wie möglich.
Dieser kann dann mehrere Aufgaben erledigen, zB. springen, laufen und noch den Hintergrund bewegen.

Ein Image ist jetzt nicht so das Optimale für ein Game, aber für den Anfang ist es ok.

zu deinem Problem, schreibe dir zu jedem Sprite (also dem Image) einen eigenen Typ. Dieser Typ kann dan zB. eine Variable Springen enthalten. Ist der Wert in der Variablen = 0 ist kein Springen erforderlich ist der wert grosser kannst du im Timer abfragen wie hoch der Sprung sei muss. Ist der Wert wieder null muss nichts berechnet werden.

...hoffe mal das war verständlich :grübel:
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Mit Timer images verschieben

  Alt 1. Mär 2006, 14:58
Kann es sein, dass du einfach nur vergisst, hoch wieder auf 10 zu setzen?


Kannst du den Text wirklich so lesen? Begins und Ends, die zusammengehören, sollten auch untereinander stehen:
Delphi-Quellcode:
if hoch > -10 then
 begin
  hoch := hoch - 1;
  image2.Top := image2.Top - hoch;
  image3.Top := image3.Top - hoch;
  image4.Top := image4.Top - hoch;
  image6.Top := image6.Top - hoch;
 end
else
 if hoch < -10 then
  begin
   hoch := hoch + 1;
   image2.Top := image2.Top - hoch;
   image3.Top := image3.Top - hoch;
   image4.Top := image4.Top - hoch;
   image6.Top := image6.Top - hoch;
   timer2.enabled := false;
  end ;
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Skullschildi

Registriert seit: 7. Jan 2006
94 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Mit Timer images verschieben

  Alt 1. Mär 2006, 15:49
ich kann des schon erkennen. und ich hab des schon probiert mit if hoch = 10 then . der wert hoch wird ja irgendwann wieder 10
Ehe man über den Berg kommt, soll man nicht Juchhe schreien.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:57 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