Suchergebnisse
Suchergebnisse 1-20 von insgesamt 108.
Danke, klappt mit AddFontResource("fonts/myfont.ttf");
Also dann einfach statt "Arial" "/data/fonts/myfont" ? Muss der Font ein bestimmtes Format haben?
Hi, wenn ich in DX9 einen Font erzeuge, übergebe ich ja den Parameter "FontDesc.FaceName", aber wie kann ich hier eine Eigene Schriftart angeben, die ich zb selbst erzeugt habe? mfg
Hier mal eine nähere Erklärung: Wenn du in DirectX programmierst, nimmst du auch zur 2D Drehung eine Matrix: C-/C++-Quelltext 1 2 3 4 5 6 7 8 D3DXMatrixTransformation2D( &Matrix, reinterpret_cast<D3DXVECTOR2*>(&m_vCenter), 0.0f, &m_vScale, reinterpret_cast<D3DXVECTOR2*>(&m_vCenter), m_Rotation, reinterpret_cast<D3DXVECTOR2*>(&m_vPosition)); Jetzt nimmst du einfach statt m_vCenter (Der Mittelpunkt der Rakete) den Mittelpunkt des Raumschiffes, das gleiche bei m_vPosition.
Wie TrommlBomml bereits gesagt hat, musst du dir eine "Mathematische Abfolge" entwickeln, danach einfach mit If / Else Abfragen einbauen. Schwierig wird eine KI erst bei Bewegung von Dingen (Raumschiffe, Shooter, RTS)
Hi, es funktioniert doch nicht - es gibt "Zeiten", wann es irgendwann funktioniert, und wann nicht (ohne änderung des Quellcodes bzw. rebuild). Sogar wenn ich alle Funktionen des Progammes (Draw, etc.) weglasse komme ich nur auf 51 FPS statt 61
Danke, funktioniert Hätte ich eigentlich auch selber draufkommen können Aber merkwürdig dass in dem ganzen Buch diese Engine verwendet wird (Auch bei 3D Anwendungen)
Hi, danke für deine Antwort. Ich arbeite nur mit einem Bildschirm und einem High-End Notebook - deshalb glaube ich nicht, dass es irgendwie an Problemen mit der Leistung liegt / am Spiel zu wenig optimiert wurde (was du ja auch sagst). Hier ist der komplette Initialisierungscode meiner Engine (teilw. vom Buch von Christian Rousselle übernommen): C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 m_lpD3D = Direct3DCreate9(D3D_SDK_VERSION); if(NULL...
Hi, ich glaube kaum, dass ihr mir helfen könnt (weil das Problem eigentlich überall liegen kann), aber poste es trotzdem mal: Wenn ich mein (noch nicht fertiges) Spiel im Fenstermodus starte, ruckelt es (20-30 FPS), bei Fullscreen hab ich 61 FPS (wie im FPS Limiter eingestellt). CPU Auslastung ist bei beiden Modi 5-10 Prozent
Mach eine Klasse CShotManager, die die Schüsse "managed" (erstellt, zeichnet, gegen kolissionen prüft etc.), und CShot für die Schüsse
Hi, ich will mein 2D Game sehr "realistisch" gestalten, und deshalb die Raketen schon vor dem Abschuss auf die richtige Position meiner F16 setzen - als Beispiel jetzt einmal ein Punkt unter dem linken Flügel. Ich hab dafür den Punkt ausgerechnet: C-/C++-Quelltext 1 2 3 4 5 6 7 float TempPositionX = Ship->GetPositionX(); float TempPositionY = Ship->GetPositionY(); TempPositionX += (Ship->GetWidth() / 4 - 1); TempPositionY += (Ship->GetHeight() / 2) - 11; Rakete->SetPosition(TempPositionX, TempPo...
Hi, sry ich hab vergessen zu schreiben, dass es sich im 2D Bereich abspielt Aber mit Viewports gehts, so weit ich weiß, auch so, oder?
Ich hab also unten eine GUI - Leiste, die Zb. die Restmunition oder ähnliches anzeigt. Damit das ganze "cooler" aussieht, ist die nicht einfach ein rechteck, sondern zb ein Trapez: ExternesOriginalbildanzeigen(Link) Jetzt sieht man aber neben der Leiste, bei den Dreiecken, die durch das Trapez entstanden sind, noch immer den Zeichenbereich - deshalb frage ich mich, ob es möglich ist, zum Beispiel unten 200 Pixel nicht zu zeichnen - zb so: ExternesOriginalbildanzeigen(Link) Jetzt hats glaub ich j...
Hi, wenn ich ein GUI schreibe, und untem am Bildschirmrand zB. eine Leiste einfüge, gibts dann eine Möglichkeit, den Zeichenbereich einzuschränken, oder muss ich einfach - wenn die Leiste nicht gerade ist - den "Rest" mit zb schwarzen Dreiecken auffüllen? Ich hoffe ihr habt es verstanden mfg
Hi, ich will auf das Gegnerische Raumschiff eine Art "Fadenkreuz" legen, dass immer genau dahin zeigt, wo ich hinzielen muesste, um ihn genau zu treffen, wenn er weiter in die Richtung fliegt (Alles in 2D). Wie kann ich die Koordinaten dieses Fadenkreuzes jetzt berechnen Ich muesste eigentlich irgendwie den Bewegungsvektors des Gegnerischen Raumschiffs mit meinen addieren bzw. subtrahieren, und dann irgendwo noch den absoluten Abstand zwischen den beiden Raumschiffen einrechnen Danke im Voraus
So, ich werd hier auch mal mein erstes fertiges Projekt posten: AutoPCBeep Ein Programm mit dem ihr alle möglichen Piepstöne und Musik aus eurem PC Speaker rausholen könnt Es gibt auch einen "Keyboard Modus", bei dem fast alle Tasten der Tastatur mit Piepstönen belegt sind. Das Programm war mein "WinApi - Lernprogramm", ich habe es vor ca. einem Jahr begonnen, und immer wieder mal etwas dazugemacht, bis es das war, was es heute ist. Link: http://n7-software.bplaced.net/products.html#AutoPCBeep
Ich komme jetzt in die 11. Klasse, und programmiere seit ca. 2 Jahren mit 1 Jahr Pause. Ich lerne gerade Russisch (lol warum gehts hier eigentlich um Russisch), bin den Sprachenzweig genommen, und werde nächstes Jahr Informatik abwählen, und stattdessen Russisch nehmen, weil die Typen dort gerade mal lernen, wie man mit Photoshop was zeichnet :roll: In Mathe bin ich gut, aber eigentlich ist es vollkommen egal, wie und wo du gut bist, es geht nur um Motivation!
Es funktioniert! Bei deinem Code waren einige Fehler: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 float m_Result = atan2((m_vPosition.x - m_AimX), (m_vPosition.y - m_AimY)); m_Result = -m_Result; // Umdrehen - das war der "Hauptfehler" // Wenn die Rakete links ist, muss die Rotation umgedreht werden wenn sie kleiner 0 ist! Bei rechts ebenfalls, aber umgekehrt if ((m_vPosition.x < m_AimX) ) { if (m_TempRotation <= 0.0f) { m_TempRotation += 6.0...
Jetzt drehen sich alle nach rechts bzw. nach rechts oben - egal, ob ich m_AimX ändere oder nicht C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 float m_Raketerot_x = m_vPosition.x - m_AimX; float m_Raketerot_y = m_vPosition.y - m_AimY; float m_fResult = atan2 (m_Raketerot_x,m_Raketerot_y); if(m_fResult < 0) m_fResult += 360; if (m_fResult > 360) m_fResult -= 360; if(m_Rotation < m_fResult) m_Rotation += 0.1f; else if(m_Rotation > m_fResult) m_Rotation -= 0.1f;