Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Starwash Senior JLI'ler
Alter: 40 Anmeldedatum: 22.09.2002 Beiträge: 252 Wohnort: Zossen (bei Berlin) Medaillen: Keine
|
Verfasst am: 15.10.2002, 18:53 Titel: Grafik in Konsole? |
|
|
Wenn man Assembler im Turbo Pascal Quelltext nutzt kann man mit den folgenden Zeilen den Grafikmodus einschalten.
Code: |
mov ah,03h
mov al,13h
int 10h
|
Ich wollte wissen, ob es für Win32-Konsolenanwendungen per C++ auch die Möglichkeit gibt einen Grafikmodus einzuschalten und wenn ja wie?
Gruss Tarek |
|
Nach oben |
|
|
Compuholic Mini JLI'ler
Anmeldedatum: 15.10.2002 Beiträge: 25
Medaillen: Keine
|
Verfasst am: 15.10.2002, 19:39 Titel: |
|
|
Also generell kann man bei Visual C++ mit:
__asm
{
//Hier Code einfügen
}
den Inline-Assembler benutzen. Speichervariablen lassen sich einfach mit Eingabe des Variablennamens ansprechen.
Das das mit dem Grafikmodus wird warscheinlich nicht unter Windows funktionieren (habe ich aber nicht ausprobiert). |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 15.10.2002, 20:13 Titel: |
|
|
Jepp, du wirst einen Bluescreen des Todes zu sehen bekommen anstatt den guten, alten Mode 13h _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Starwash Senior JLI'ler
Alter: 40 Anmeldedatum: 22.09.2002 Beiträge: 252 Wohnort: Zossen (bei Berlin) Medaillen: Keine
|
Verfasst am: 15.10.2002, 23:51 Titel: |
|
|
Wie man assembler in C++ nutzt, weiß ich noch grad so, wäre nicht das erste mal. Aber gibt es denn irgend eine andere Möglichkeit einen Grafikmodus in der Win32-Konsole einzuschalten?
Warcraft II soll bspw. mit C++ inner Konsole geproggt worden sein und die haben den grafik modus ja auch irgendwie hinbekommen? Es muss doch irgendwie gehen auch innner Konsole Grafik zu haben oder etwa nicht???
Gruss Tarek |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 16.10.2002, 17:00 Titel: |
|
|
Mit einer passenden Grafiklibrary, z.B. SDL, oder auch mittels WinGDI.(Neues Fenster für grafische Ausgaben erstellen und anzeigen)
Den alten Int13-Mode kann man z.B. mit DirectX aktivieren, such dir was aus und lass deiner Kreativität freien Lauf.
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 16.10.2002, 17:59 Titel: |
|
|
Oder du benutzt einen 16bit Compiler. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Starwash Senior JLI'ler
Alter: 40 Anmeldedatum: 22.09.2002 Beiträge: 252 Wohnort: Zossen (bei Berlin) Medaillen: Keine
|
Verfasst am: 17.10.2002, 23:13 Titel: |
|
|
Hi,
erstmal danke an alle.
Und @AFE-GmdG:
Danke der Tipp mit dem SDL war super. Bin gerade dabei es auszuprobieren und mich dort fleißigst einzuarbeiten.
Gruss Tarek |
|
Nach oben |
|
|
CorDharel Junior JLI'ler
Anmeldedatum: 15.10.2002 Beiträge: 73 Wohnort: Winterthur, Zürich, CH Medaillen: Keine
|
Verfasst am: 18.10.2002, 13:50 Titel: |
|
|
Zitat: | Jepp, du wirst einen Bluescreen des Todes zu sehen bekommen |
lol _________________ Greetz CorDharel |
|
Nach oben |
|
|
Starwash Senior JLI'ler
Alter: 40 Anmeldedatum: 22.09.2002 Beiträge: 252 Wohnort: Zossen (bei Berlin) Medaillen: Keine
|
Verfasst am: 18.10.2002, 23:58 Titel: |
|
|
Mal gleich noch ne Frage, wie realisiert man eine Spriteanimation bei SDL? Ich hab jetzt schon einiges Versucht doch leider bin ich bisher immer und immer wieder gescheitert. Nun ja ich wollte im Buch nachlesen, was dort über SpriteAnimationen steht, doch leider musste ich feststellen, dass ich das ja an ein Member meines DevTeams verborgt habe.
Nuja, kann mir bitte wer weiterhelfen?
Gruss Tarek |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 19.10.2002, 09:02 Titel: |
|
|
Hast du alle Frames einer Animation auf einer Surface? Wenn ja, musst du nur das Source-Rectangle verschieben. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Starwash Senior JLI'ler
Alter: 40 Anmeldedatum: 22.09.2002 Beiträge: 252 Wohnort: Zossen (bei Berlin) Medaillen: Keine
|
Verfasst am: 19.10.2002, 09:56 Titel: |
|
|
Also doch so, wie ich es mir gedacht habe. Dann muss ich das nochmal probieren auch wenn es gestern leider nicht gefunzt hat. Naja aller guten Dinge sind 3 also hab ich noch zwei versuche =)
Gruss Tarek |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 19.10.2002, 13:10 Titel: |
|
|
Auf der Webseite gibt es eiune runterladbare Hilfe - Dort sind meines erachtens auch Codebeispiele für SpriteAnimationen drin.
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Starwash Senior JLI'ler
Alter: 40 Anmeldedatum: 22.09.2002 Beiträge: 252 Wohnort: Zossen (bei Berlin) Medaillen: Keine
|
Verfasst am: 19.10.2002, 19:21 Titel: |
|
|
Also ich habe dort leider nix über SpriteAnimationen gefunden. Es gibt folgendes Problem das SourceRect ist bei SDL folgender Maßen aufgebaut:
struct SDL_Rect{
signed int x,y;
unsigned int w,h;
};
so...x und y sind die linke obere ecke und w und h sind width und height.
Setzt man nun w und h auf werte die nicht der Breite des gesamten bildes bzw. der höhe des gesamten bildes entsprechen so wird mir zumindest nix angezeigt. Und wenn man x und y ins negative verschiebt so, dass nur das linke oberste bild zu sehen ist, dann geht es auch wunderbar. Aber wenn man nun zum zweiten Bild springt hat man das problem, dass das erste und das zweite bild gezeichnet werden.
Gruss Tarek |
|
Nach oben |
|
|
|