Autor Beitrag
rick1
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Sa 02.05.09 17:29 
Hallo ich hab mal wieder nen Problem bei meinem Schulprojekt. Und zwar möchte ich die geschwindigkeit von mehreren shapes bzw images kontinuirlich erhöhen, somit soll der eindruck erweckt werden, dass das Auto am unteren Bildschirmrand mit der zeit immer schneller wird. Wäre froh über ratschläge wie ich das umsetzen kann.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Sa 02.05.09 17:35 
Und wo genau klemmts?
Komponente TTimer, und mit jedem Durchlauf die Position des Image um den Wert <Geschwindigkeit> verändern, und bei Bedarf die Geschwindigkeit erhöhen.

_________________
PROGRAMMER: A device for converting coffee into software.
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Sa 02.05.09 18:44 
Bedenke das die VCL nicht dafür ausgelegt ist ein gutes "Spiele-Fealing" zu erreichen. Hierfür wirst du einiges umbauen müssen und u.U. auf DirectX umzusteigen.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 02.05.09 18:56 
Hallo,

schau dir mal dieses Projekt etwas genauer an. Da fliegen auch mehrere Shapes mit unterschiedlicher Geschwindigkeit durch die Gegend. :)

_________________
We are, we were and will not be.
Dude566
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: Sa 02.05.09 19:30 
Das Spiel ist echt cool, und nachher wirds auch verdammt schwer.

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
dummzeuch
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 593
Erhaltene Danke: 5


Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
BeitragVerfasst: So 03.05.09 10:08 
user profile iconrick1 hat folgendes geschrieben Zum zitierten Posting springen:
geschwindigkeit von mehreren shapes bzw images kontinuirlich erhöhen, somit soll der eindruck erweckt werden, dass das Auto am unteren Bildschirmrand mit der zeit immer schneller wird.


Geschwindigkeit ist Strecke durch Zeit, d.h. wenn man die Geschwindigkeit erhoehen will, muss man entweder die Strecke pro Zeiteinheit erhoehen oder die Zeit pro Streckeneinheit verringern.

Annahme: Du nimmst ein TTimer und zeichnest die Shapes im OnTimer Event. Dann kannst Du entweder mit einem konstanten Intervall arbeiten und die Strecke zwischen zwei Positionen immer mehr vergroessern, oder Du arbeitest mit einer konstanten Strecke und verringerst das Intervall. Beides laesst sich natuerlich auch kombinieren. Beides hat seine Grenzen: Ein Intervall kann nicht kleiner als ca. 50 Millisekunden (oder waren es 20?) werden, weil Windows da nicht mehr mitspielt. Wenn man die Strecke zu gross macht, dann springt das Shape gegen Ende sichtbar.

Da Du nicht mehr ueber den Zweck schreibst, gehe ich mal davon aus, dass komplexere Loesungen wie DirectX oder OpenGL zur Grafikausgabe eher Overkill sind.

twm