Zum Inhalt springen

Timer in struct ?


Empfohlene Beiträge

Hallo!

Kann mir bitte jmd helfen...?

Mir reicht 1 Timer nicht und ich hab mich gefragt ob ich denn nicht einen Timer festlegen kann in einer Struktur, damit ich später, wenn ich den Datentyp als Array deklariere jedem einzelnen ausm array ein extra ereignis zuweisen kann.

Oder bin ich aufm Holzweg?

Es geht mir darum:

10 spatzen (struct ding spatz[10]) sollen übern Bildschirm flattern.

Damit jeder Spatz seine eigene Geschwindigkeit hat und NCIHT über denselben Timer gesteuert werden, möchte ich eben in der struct festlegen das ihnen allen ein eigenes ereignis timer zusteht.

geht das oder bin ich auf dem Holzweg?

ach ja:

Borland c++ builder 6, win-anwendung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab ich recht das es hier um Grafikprogrammierung geht???

Wenn ja, gibt es eine sehr schöne Möglichkeit die Spatzen unabhängig

voneinander zu bewegen und ein sehr viel besseres Ergebnis zu erziehlen

als mit Timern.

Und zwar verwendest du die IDLE-Time zum Zeichnen deiner Szene, immer

wenn keine Message ankommt (PeekMessage) zeichnest du deine szene.

Damit die Viecher jetzt animiert sindweißt du deiner Struktur eine Geschwindigkeit

zu mit der sie sich bewegen sollen (z.B. 3 Pixel alle 10 ms).

In deiner Zeichenroutine berechnest du die Zeit seit dem letzten Aufruf und

errechnest dir die Strecke die jedes Viech zurücklegen muss...

Beispiel:

1: 3p alle 10 ms

2: 4p alle 10 ms

Es sind seit dem letzten Aufruf 30 ms vergangen

- 1 wird um 3*3 pixel weiterbewegt: 9 pixel

- 2 wird um 4*3 pixel weiterbewegt: 12 pixel

Mit dieser Möglichkeit funktionieren übrigens die meisten Grafikengines.

Hoffe ich habe dir mehr geholfen als verwirrt.

Gruß

Diablo999

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sorry @ Klotzkopp wg. falschem Forum... versuche mich zu bessern :)

Danke erstmal für die Antwort Diablo!

Ich vermute was Du unter Grafikprogrammierung verstehst sprengt den Rahmen dessen, was ich mir als Autodidakt bisher beibringen konnte :(

Also, ich glaube zu verstehen wie es funktionieren soll, in der Hilfe finde ich unter "idle" aber leider nichts, das mir weiterhilft. Von daher fehlen mir sozusagen die Mittel, auch wenn ich mir vorstellen kann wie es aussehen könnte.

Wenn du Zeit und Muße hast, könntest du mir bitte ein Beispiel aufschreiben?

Also direkt auf das "idle" bezogen, oder wie ich meinen struct aufgerufen werden muss und was ich in der struct zu beachten habe......?

Möglichst nicht zu komplex :)

Gruß, Gorgin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Idle-Time ist die Zeit die einem Prozess zur Verfügung steht wenn er gerade

keine Nachrichten abarbeitet.

Die Messageloop sieht dann in etwa so aus


  while (!bExit)

  {

    if(PeekMessage(...))

    {

       // Hier wird die Nachricht ausgewertet

    }

    else

    {

       // Hier ist der Teil in dem alle IDLE-Sachen ausgeführt werden, eben z.B. 

       // zeichnen

    }

  }

Ich hoffe du programmierst WinAPI und nicht MFC oder sowas, weil da hab ich leider keine Ahnung ob du die IDLE-Time nutzen kannst oder wie das geht?

Diablo999

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...