Suchergebnisse
Suchergebnisse 1-20 von insgesamt 163.
Ja das klappt deshalb, weil die Shell immer noch im Speicher vorliegt. dispose() ist dafür da, SWT-Objekte zu löschen oder besser gesagt angeforderte System-Ressourcen freizugeben. So sollte das aber natürlich nicht bleiben, denn ein dispose() sollte möglichst immer aufgerufen werden. Kannst du mal einen Code-Ausschnitt zeigen, in dem du die MessageBox gerne anzeigen möchtest?
Aber warum eine temporäre Shell? Ich denke doch mal, dass du immer ein Fenster offen hast und ein Fenster wird immer durch ein Shell-Objekt repräsentiert. Dann schreib dir eine kleine statische Helper-Methode und übergib der immer die Shell bzw. das Fenster, aus dem du die MessageBox aufrufen willst, z.B.: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 public class Helper { public static void showMessage(final Shell shell, final String title, final String message) { final MessageBox msgbox = new MessageB...
Zitat von »Architekt« Also muss man, da Java für den Typ string die Klasse String bereitstellt, für strings auch bspw. C-/C++-Quelltext 1 String foo = "foo"; foo.equals("bar") schreiben, anstelle von einem simplen Vergleich á la foo == "bar". Das ist so nicht ganz richtig, denn C-/C++-Quelltext 1 if(foo == "bar") bringt false und C-/C++-Quelltext 1 if(foo == "foo") bringt true! Java vergleicht beim "==" von Objekten die Referenz und String-Objekte werden von der Laufzeitumgebung nur einmal ange...
Schau mal unter Project > Properties, dann im Baum unter Java Build Path, klicke auf "Add External JARs" und wähle die deine Jars aus. Danach sollten die Pakete gefunden werden.
Vielleicht liegt es an dem hInstance-Member. Denn so wie ich das sehe übergibst du diesen Parameter keinem der Konstruktoren und hInstance ist somit ungültig.
Hmm, was du machen könntest, wäre zum Beispiel ein Code-Snippet zu posten und deine frage zu überarbeiten. Und was macht es für einen Sinn, wenn eine Funktion ein einziges Dreieck erzeugt? Solche Funktionen können auch gut und gerne in die Applikation rein.
Ich kenne mich zwar nicht mit der Irrlicht Engine aus, aber ein kurzer Blick in die API-Doku verrät folgendes: C-/C++-Quelltext 1 2 virtual const wchar_t* irr::video::IVideoDriver::getName () const [pure virtual] Gets name of this video driver. http://irrlicht.sourceforge.net/docu/cla…aa1e258daf863f1
Ich könnte mir vorstellen, dass du die TriBase-Engine noch nicht in deinen VC++-Verzeichnissen aufgeführt hast. Denn wenn du dort den Include-Ordner angibst, reicht ein C-/C++-Quelltext 1 #include <TriBase.h> völlig aus. Bei der Angabe durch <> sucht er ja in den verfügbaren Include-Verzeichnissen und sollte die Header-Dateien somit finden. So brauchst du nicht den expliziten Pfad angeben und kannst die Dateien unverändert lassen!
Die Struktur brauchst du trotzdem nicht, denn ein Array von zwei Dimensionen [6][7] als Integer reicht! Die Position, wo was (Kreis/Kreuz/was auch immer) hin soll, kannst du einfach am Index berechnen. Ist das Sprite 30x30 Pixel groß und der Spieler möchte das 2. Feld von oben besetzen, dann ist die linke obere Ecke des Rects für das Sprite: x = X-Ausgangsposition des Spielfelds + Sprite-Breite * Index im Array (hier 1, da Array bei Null beginnt). Für Y siehts genauso aus. Und die Gewinnprüfung ...
Zitat von »Sc4v« Jetzt soll sich meine Schlange (Sprites und Rects alle 20x20 Pixel) auch nur alle 20 Pixel in eine andere Richtung bewegen dürfen, damit nicht sowas passiert wie auf dem Screen zu sehen: Die "Schlange" kann sich ungewollt frei bewegen... ich denke wer Snake kennt weiß was ich meine. Die Schlange soll sich immer in dieses 20*20 FeldSystem eingliedern... Wenn sich deine Schlange immer kästchenweiße fortbewegen soll, dann rechne nicht +/-1, je nach Richtungsänderung auf die aktuel...
Hi Sc4v, du hast ja in deinem Codeausschnitt bereits beschrieben (Array), dass es ein 20*30 Spielfeld seien soll (nicht 30*20 wie im Kommentar). D.h. ja nichts anderes als, dass es 20 Zeilen hat mit je 30 Spalten. Deshalb ist es gar nicht verkehrt, aus dem Spielfeld field[] ein Zweidimensionales Array zu machen: C-/C++-Quelltext 1 2 3 int field[20][30]; // Feld füllen Wie du dein Feld jetzt füllst, ist dir überlassen. Das könnte ja z.B. aus einer Textdatei oder ähnlichem stammen, so dass du vers...
Zitat von »Architekt« Zitat von »denjo« Die SDL sollte zusätzlich auch beendet werden, d.h. nach deiner while nen SDL_Quit()! Irre ich mich oder wird die per atexit registrierte shutdown Methode (hier also SDL_Quit) nicht bei jeder Form von Programm Ende ausgeführt? Hast recht, hab die atexit-Zeile überlesen ;-).
Die SDL sollte zusätzlich auch beendet werden, d.h. nach deiner while nen SDL_Quit()!
Hi Zeus, ich hab http://www.myfriend.de/ das gefunden. Kennen tu ich bisher auch nur StruktEd, aber schlecht hört sich MyFriend auch nicht an. Vielleicht hilf es dir ja weiter ;-).
Bist du dir denn sicher, dass deine Load-Routine die WAV-Datei auch korrekt lädt? Prüfungen dafür hast du ja nicht in der Load-Funktion. Die solltest du ergänzen, um zu wissen, ob die Sounddatei überhaupt geladen wurde!
Hi, du solltest den SDL_mixer auch noch beenden... C-/C++-Quelltext 1 2 // SDL_mixer schließen Mix_CloseAudio (); Sollte, denke ich, den Fehler beheben.
Ich könnte mir vorstellen, dass du die sdlmain.lib nicht gelinkt hast... geh doch nochmal den Punkt "12.2.1: Projekt mit Microsoft Visual C++ 6.0 anlegen" durch... dort ist alles beschrieben, wie du die Bibliotheksdateien in die Verzeichnisse einträgst!
Achso ... ich dachte, dass man vllt schneller solche Daten abfragen könnte. Trotzdem thx
Zitat von »"grek40"« 1DEB89 == 1960841 A73FB1 == 10960817 C44FF6 == 12865526 ich versteh nich, was diese Zahlen mit der 1000 zu tun haben sollen und verstehe somit das ganze Problem incl. Zielstellung nicht. // €dit [OT]: endlich hab ich diese verflixten 1337 Beiträge ohne Party überrundet :lol: 1. Glückwunsch zu den 1338 :p 2. Also der Hex-Code soll nur ein Platzhalter (genauso wie die Zahl/oder was auch immer) sein... (weitere Beschreibung => weiter unten) Zitat von »"spacegaier"« Für jede Za...
Hi, oh sry ... mir ist gerade auch aufgefallen, dass ich mein Problem ein wenig falsch beschrieben habe. Ich meinte, dass irgendein (oder auch mehrere) Hex-Code dieser Art einen Wert enthält (Beispiel: die Zahl 1000). Und dieser Wert (oder auch all diese Werte) soll mit Hex-Code aufgelistet werden. Also: Durchsucht werden alle Codes von "000000" bis "FFFFFF" und wenn einer dieser Codes die Zahl 1000 enthält soll er aufgelistet werden: 1DEB89 | 1000 A73FB1 | 1000 C44FF6 | 1000 Der Rest wird ignor...