Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

25.12.2006, 15:07

Texteingabe

Hallo zusammen ich hab mal ne Frage zur Texteingabe
also ich bin gerade dabei mir so ein kleines pong spiel zu schreiben und möchte nun dass am ende des spiels der name eingegeben werden kann der dann mit den punkten in eine datei gespeichert wird.

Also das mit den punkten funktioniert, nur weis ich nicht wie ich es mit der Namens eingabe machen kann.

Also es ist kein konsolenprogramm und es läuft alles über DX gibt es von DirectX funktionen oder was für möglichkeiten hätte ich den, hab im Internet nichts gefunden.

Wäre euch für Hilfe dankbar.

2

26.12.2006, 08:47

Ich versteh nicht was du willst! Gehts eventuell genauer? Ein Konsolenprog. mit DX? Da bin ich ja mal gespannt! Wie wärs mit Screen und Code?

mfg Markus

Sn3aK87

Treue Seele

Beiträge: 110

Wohnort: Freiberg, nähe Dresden

Beruf: Informatikstudent TU Dresden ab 1.10.2007

  • Private Nachricht senden

3

26.12.2006, 08:56

Zitat von »"lannms11"«

Ich versteh nicht was du willst! Gehts eventuell genauer? Ein Konsolenprog. mit DX? Da bin ich ja mal gespannt! Wie wärs mit Screen und Code?

mfg Markus


er sagte:

Zitat


lso es ist kein konsolenprogramm und es läuft alles über DX gibt es von DirectX funktionen oder was für möglichkeiten hätte ich den, hab im Internet nichts gefunden.


;)
also denke ich mal ein Win32 - Fensterprogramm wie wir es alle kennen oder?? @Andy... wäre schön, wenn du Screens posten würdest :)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

26.12.2006, 09:27

es gibt GUI frameworks/bibliotheken. außerdem kannst du dir mal das CustomUI sample im dx sdk (erst in den neueren ausgaben) anschauen.
das dx sample framework hat sowas eingebaut.
ansonsten musst dus leider selber machen.

5

26.12.2006, 13:19

Es ist ein Win32 Fensteprogramm.
Bei einer Windows Forms Anwendung kann ich ja solche Editboxen verwenden die hab ich ber im Fensterprogramm nicht.

Also es geht dur darum dass man seinen Namen eingeben kann.
Darum hab ich ja geschrieben dass es kein konsolenprogramm ist denn da ist es ja einfach und darum wollte ich wissen ob es eben eine bestimmte funktion oder sowas gibt um den Namen einzugeben.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

26.12.2006, 13:28

wenn du mit dx in das ganze fenster zeichnest, wirst du dir mit edit steuerelement und co schwer tun, weil das einfach üerzeichnet wird und damit höchstens hie und da mal aufflackert.
wie bereits oben erwähnt, entweder bibliothek verwenden oder selber machen...

7

26.12.2006, 13:36

Gibts da irgendwelche Tuts oder sowas

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

9

26.12.2006, 13:59

Ich gehe mal davon aus, dass du einen vorgegebenen Text anzeigen kannst - du musst dann also nur noch herausfinden, welchen Text der Benutzer durch seine Eingaben vorgibt.
Je nachdem, ob du DInput oder WinAPI oder sonstwas verwendest kommst du ja irgendwie an den Keyboardstatus - jetzt gilt es nur noch, die gedrückten Tasten zu interpretieren und daraus die Nutzereingabe zu machen.
Mal angenommen, du hast deinen Keyboardstatus in Form von 2 bool-arrays gespeichert: true für gedrückt, sonst false.

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
// wird irgendwo anders definiert und aktualisiert

extern bool OldKeys[256];
extern bool NewKeys[256];
// Spielername:

extern std::string Name;

void SetName()
{
  // Zeichen 0-9 und a-z

  for (char c=0x30; c<=0x39; ++c)
    if ( (OldKeys[c]==false) && (NewKeys[c]==true) )
    {
      Name += c;
      return;
    }
  for (char c=0x41; c<=0x5A; ++c)
    if ( (OldKeys[c]==false) && (NewKeys[c]==true) )
    {
      Name += c;
      return;
    }
  // wurde Backslash oder Enter gedrückt?

  if ( (OldKeys[0x08]==false) && (NewKeys[0x08]==true) )
    Name.erase(/*letztes Zeichen*/); // hab das grad nich im Kopf^^

  if ( (OldKeys[0x0D]==false) && (NewKeys[0x0D]==true) )
    ;  // musst schon selbst wissen, was bei Enter passieren soll^^

}


Das is sicher nicht vollständig, sollte aber ein Ansatz sein.

10

26.12.2006, 14:04

Super danke Euch

Werbeanzeige