2D-Spiel Fragen und Hilfe bei Programmierung

Grad windows Phone summit geschaut - Windiows Phone 8 unterstützt natives C++!!!!!!:daumen::daumen:

Dann wird das mit der App wahrscheinlich noch leichter als ich mirs vorgestellt hab!:daumen:
 
So, des is jetzt wahrscheinlich des größte Problem dieses Projekts:

Bei vielen Bällen auf dem Bilodschirm kann es ein Gerangel geben(die Bälle schießen über den Bildschirm, bis sie wieder Platz ham).
Ich mache es ja gerade so, dass bei einer Überschneidung die Bälle bis zum Schnittpunkt zurückversett werden.

Meint ihr, dass ich das Problem umgehen könnte, wenn ich im Vorraus die Kollision erkenne und per Geradengleichung den Exakten Schnittpunkt berechne?
 
Ja, ist aber, wie ich dir GANZ am Anfang schon mal gesagt habe dann wirklich sehr sehr sehr aufwendig, wenn du wirklich alles richtig berechnen willst.
 
vielke andere Möglichkeiten habe ich ja nicht.

Ich werd jetzt mal versuchen, die Kollision im Vorraus zu berechnen (wenn position plus Geschwindigkeit usw.), dann haben die ja auch genug Platz, zumindest theoretisch.:schief:
 
so, ich hab es jetzt so gemacht, dass die Kollsion um den Bewegungsfaktor vorausgerechnet wird, es verringert die Häufikgeit von einem "Gedrängel", verhindert es aber nicht.

Ich bin jetzt so angekotzt, dass ich es jetzt in Erwägung ziehe, Bullet zu nutzen. Koste es was es wolle! (Außer nerven:D)
 
Irgendwas einfaches - sowas wie:

-Man muss mit dem ein mit der Maus gesteuertes Wesen immer an bestimmte Stellen an den Bildschirmrand bewegen, ohne von den Bällen getroffen zu werden, vll. auch mit Extras

-Man muss Linien zeichnen, damit sich die Bälle nicht berührern

Aber ich will erstmal das verdammte ball Kollisionsproblem gelöst bekommen:hail:
 
Ich versteh dein Problem mit der Kollision nicht? Das bisschen überprüfen mit der Ballkollision dürfte doch eig. keine Probleme machen?!

Btw. Dein upload kann ich nicht ausführen, sehe nur einen schwarzen Bildschirm. Stell es am besten auch mal von den Compiler Settings auf /MT, du hast vermutlich /MTd
 
Ich versteh dein Problem mit der Kollision nicht? Das bisschen überprüfen mit der Ballkollision dürfte doch eig. keine Probleme machen?!

Btw. Dein upload kann ich nicht ausführen, sehe nur einen schwarzen Bildschirm. Stell es am besten auch mal von den Compiler Settings auf /MT, du hast vermutlich /MTd

"N" für neuen Ball gedrückt? :)
 
Wenn links un ten genug Platz für eine Kugel ist, dann drücke "n", um eienn Ball zu löschen "l".
Das Problem tritt ab ca. 10 Bällen auf, wenn sie einen in die Ecke drängen. Dann kommt es zu einer Kampelei und sie fliegen wild über den Bildschirm, bisse wieder Platz ham. Das zu fixen ist gerade mein Problem.

Hab nochmal nen aktuellen Build angehangen, darin ist ein kleines Problem der Kollision mit den Rändern gefixt und das oben genannte ein wenig eingedämmt, aner nicht gelöst.

Probiers einfach mal aus, pass aber auf, dass du nicht zu viele Bölle auf einmal hinzufügst und sie sich nicht da schon berühren.

Bin sicher, dass das Problem auch bei euch auftritt.:(
 
So, ich hab jetzt eine fertige Demo, die hat jetzt ein vernünftiges Ballverwlatungssystem (Code wurde komplett neu geschrieben).
Probierts einfach mal aus, ihr müsst jetzt nicht mehr aufpassen, wann ihr einen Ball hinzufügt.

Jetzt kann man aber auch verdammt gut den Fehler bei der Ball - Ball Kollision erkennen:(

Viel spaß beim Probieren!
 
Mit der Taste "n" kannst du einen Ball hinzufügen, mit "l" einen löschen.

Wenn das nicht funktioniert, dann habe ich noch ein Problenm mehr:what:.
 
Warum wird bei der Variable Bild in glutDisplayString gemeckert dass es keine passende konvertierungsfunktion gibt? Das ist doch ein echter string????:schief:

fps ist ein float.

PHP:
void text()
{
//Vaiable für float-Umwandlung
stringstream werte;
werte << "FPS: " << fps;
//Variable für Ausgabe
string bilder = werte.str();

//Ausgabe
glRasterPos2i(5, bbreite - 5);
glutBitmapString(GLUT_BITMAP_TIMES_ROMAN_10, bilder);
}
 
Was ist bitte glutDisplayString? Du meinst du wohl glutBitmapString.
Hier ein kleines Beispiel:
Code:
    char text[20];
    sprintf_s(text, "FPS: %i", fps);

    glRasterPos2i(x, y);
    for (i=0; i<strlen(Text); i++)
        glutBitmapCharacter((void *)0x0008, (int)Text[i]);

Anmerkung: Wie du siehst nehme ich glutBitmapCharacter. BitmapString war irgendwie schon immer buggy, egal ob altes glut oder freeglut (so zumindest meine Erfahrung)! Habe mir das auch schon im freeglut Source angeguckt aber irgendwo buggt da was rum. Daher nimm am besten die Ausgabe über einzelne Char's.
 
Zuletzt bearbeitet:
hey, das kannte ich noch gar nicht :what:

DANKE. Das hätte ich vor kurzem ECHT richtig gut gebrauchen können. Das werde ich mir auf jeden Fall merken und in Zukunft einsetzen :hail:
 
jop! nach sowas hab ich auch gesucht gehabt ^^ kannte nur ne variante über displaylisten, aber die sin ja aus dem modernen ogl rausgeflogen ><
 
Zurück