Loop Funktion richtig einsetzen



  • Hallo,

    ich programmiere gerade eine Grafik, welche an Hand einer variablen die Breite ändern soll.

    Diese Variable soll sich mit vergangenerZeit verändern.

    Nun weiss ich leider nicht wie ein Loop in C++ genau Funktioniert.

    In Java hatte ich einfach meine Grundfunktion Loop, in welcher alles geloopt wurde.
    Der Rest der Funktion war automatisch statisch.

    Ich habe nun einfach mal folgendes probiert:

    int x;
    while( x > 500)
    {

    (Bitte nicht über die Form der folgenden Funktion zum Anzeigen eines Bildes Stören, die stimmt so, da sie einer Engine entspringt. X entspricht dem 2ten X Wert des Image rects)

    driver->draw2DImage(images, core::position2d<s32>(200,250),
    core::rect<s32>(354,87,x,118));

    x-=1;
    }

    Leider funktioniert der Loop nicht, die Grafik bleibt statisch

    Wie kann ich einen vernünftigen Loop einführen, der eine Variable ständig verändert, prüft und im nächsten Schritt das Bild aktualisiert?

    Danke für jede Hilfe



  • int x=600;
    while( x > 500)
    {
    tuwas;
    x-=1;
    }
    

    Schau aber nochmal genau, wie Loops in Java gehen. Das Wissen wird Dir in C++ auch helfen.



  • Sorry, da hab ich mich nur verschrieben, ich habe x natürlich deklariert.

    Es geht nur darum:

    Loopt C++ automatisch die Ganze Funktion?

    oder werden nur schleifen geloopt?



  • Loop loopt loops.



  • Was soll das jetzt heissen?

    Eine klare Antwort wäre ganz Nett.

    Wie behandelt C++ Code?

    Wird der Code automatisch in jedem Frame abgefragt?

    Gibt es eine Funktion wie die Funktion Loop(); in Java?

    Loopen nur Schleifen und das automatisch?


  • Mod

    Zackorz schrieb:

    Was soll das jetzt heissen?

    Eine klare Antwort wäre ganz Nett.

    Das Problem ist: Keiner versteht deine Fragen**.

    Ich will mal wild spekulieren:
    Da in deinen Fragen öfters die Worte "Java", "C++", "Schleife", vorkommen, willst du wahrscheinlich etwas über die Unterschiede zwischen Java und C++ hinsichtlich Kontrollstrukturen wissen. Die Antwort darauf: Es gibt fast keine Unterschiede. Es gibt die gleichen Kontrollstrukturen und die Syntax ist auch gleich. Die Unterschiede der beiden Sprachen liegen auf anderen Gebieten.
    Was du in Java zur Steuerung des Programmablaufs gemacht hast, funktioniert 1:1* auch in C++.

    *: Das ist eher als Faustregel zu verstehen. Irgendjemand bringt in ein paar Minuten garantiert ein Gegenbeispiel.

    **: Zweite Spekulation: Das deine Fragen eher verwirren, könnte daran liegen, dass du dich einfach schlecht ausdrückst. Der Grund könnten aber auch gefährlich falsche Vorstellungen darüber sein, wie C++ funktioniert. Bei letzterem kann dir hier natürlich geholfen werden. Was ist deiner Meinung nach eher der Fall?



  • Ich denke, bei den Spieleentwicklern und Grafikern bist Du besser aufgehoben. Es scheint ja darum zu gehen, wie Du mit der irrlicht-Engine verschieden große Images auf den Bildschirm machst. Ich nehme nämlich an, daß die Schleife klappt, und Du nur nichts davon siehst, weil die Enfine noch eine Überraschung mitgebracht hat.



  • Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum Spiele-/Grafikprogrammierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hmm, vielleicht ist es so verständlicher:

    Je nach Programm, ist der Ablauf ja verschieden.

    Bisher habe ich mit Java Processing gearbeitet.

    Hier wurde der Code stets so abgearbeitet:

    - Es gab eine Funktion namens Loop(); . In dieser Funktion musste alles, was ständig vom Programm abgearbeitet werden soll reingeschoben werden. Der Rest des Codes wurde nur 1x abgearbeitet.

    Nun habe ich bei C++ das Problem, dass ich nicht weiss wie das Programm auf ganz normalen Code reagiert.

    Ich habe in eine While Schleife das Zeichnen eines Balkens eingebaut, sowie eine ständige Änderung in den Parametern des Balkens. Durch diese Änderung müsste er sich ständig in seiner Größe verändern, so lange die Schleifenbedingung aktiv ist.

    Leider verändert sich der Balken aber genau garnicht.

    Was mich zu den Fragen kommen ließ:

    Wird diese Schleife überhaupt mehr als 1x durchgegangen?

    Wird Code, der nicht in Schleifen steht nur 1x durchgegangen, oder unendlich oft, solange man kein return statement setzt?


  • Mod

    Zackorz schrieb:

    - Es gab eine Funktion namens Loop();

    diese funktion wurde also aufgerufen und jetzt versuchst du "loop" in c++ nachzubauen ohne genau zu wissen was in java damit passiert, kann das sein?

    Nun habe ich bei C++ das Problem, dass ich nicht weiss wie das Programm auf ganz normalen Code reagiert.

    so wie auf ganz normalen java code.

    Ich habe in eine While Schleife das Zeichnen eines Balkens eingebaut, sowie eine ständige Änderung in den Parametern des Balkens. Durch diese Änderung müsste er sich ständig in seiner Größe verändern, so lange die Schleifenbedingung aktiv ist.

    zeigst du es auch an, oder zeichnest du nur?

    Leider verändert sich der Balken aber genau garnicht.

    poste vielleicht mehr code damit man sieht was du falsch machst, einfach nur snippels werden dir kaum helfen wenn du scheinbar ein problem mit der software architektur an sich hast.

    Wird diese Schleife überhaupt mehr als 1x durchgegangen?

    wird sie das in java? die antwort ist gleich.

    Wird Code, der nicht in Schleifen steht nur 1x durchgegangen, oder unendlich oft, solange man kein return statement setzt?

    genau so wie in java.



  • 1. lern C++, Java oder sonstwas
    2. woher soll das Programm wissen, dass es nach draw2DImage das ganze auf den Bildschirm tun soll? (siehe Irrlicht-Tutorial --> beginScene(), endScene())



  • Zackorz schrieb:

    Bisher habe ich mit Java Processing gearbeitet.

    Meinst du vielleicht dieses auf Java basierende Grafiksystem?

    http://processing.org/


Anmelden zum Antworten