|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Otscho Super JLI'ler
Alter: 36 Anmeldedatum: 31.08.2006 Beiträge: 338 Wohnort: Gummibären-Gasse Medaillen: Keine
|
Verfasst am: 02.04.2009, 11:04 Titel: Windows Presentation Foundation |
|
|
Hallo seit ein paar Tagen beschäftige ich mich ein wenig mit Microsofts neuem GUI Framework "Windows Presentation Foundation". Meiner Meinung nach ist diese Technik sehr nett aufgebaut und erlaubt spielerisch graphisch anspruchsvolle, aber zur Laufzeit schlecht zu generierende Anwendungen, zu schreiben.
Hat von euch schon jemad mehr Erfahrung mit WPF gemacht ?
PS. Mein erstes WPF Projekt (nur lauffähig mit installiertem dotnet-framwork version 3.5 im Internetexplorer bzw. Firefox mit Plugin) |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 03.04.2009, 02:27 Titel: |
|
|
Leider warst du das letzte mal zum Usergroup-Treffen in Berlin und nicht dieses mal...
Dieses mal gibg es nämlich um WPF bzw. Silverlight.
Ich werde selber noch in dieser Richtung arbeiten, so dass wir uns auch weiterhin austauschen können.
was genau du mit "zur Laufzeit schlecht zu generierende Anwendung" meinst musst du mal näher beschreiben!
MfG, 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 |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 03.04.2009, 21:48 Titel: |
|
|
Ich habe noch mal ein kleines Demoprogrämmchen zusammengeschustert.
Es handelt sich um die obligatorische Uhr, ohne viel Schnickschnack, in 100% WPF.
Sie hat noch ein paar Probleme, die ich aber in kürze lösen kann:
- Die Uhr verdeckt natürlich einen Teil des Desktops. Sie ist "AlwaysOnTop", was bedeutet, dass man nicht "unter" die Uhr klicken kann. In meinem früherem Win32-Projekt hatte ich dieses Problem gelöst, indem die Uhr Transparent wird, wenn man mit der Maus in die Nähe fährt. Für WPF habe ich noch keine passenden Mausereignisse gefunden.
- Es fehlen noch Ziffern
- Es fehlt ein Konfigurationsmenu
- Es fehlt ein Icon im SysTray, so dass man die Uhr darüber beenden kann oder das Konfigurationsmenu aufrufen kann.
An sonsten funktioniert sie sehr gut.
Ich habe sehr viel mit den Transparenteffekten von WPF rumgespielt, so ist die Uhr natürlich rund und Zum Rand hin stärker Transparent als in der Mitte.
Hier der vollständige Code (und die exe)
http://www.jliforum.de/afe-gmdg/WpfEmi.zip
Vielleicht hat ja jemand die eine oder andere Idee, wie man eines der Probleme löst (Hauptsächlich natürlich das mit der Maus, aber ohne WinForms oder PInvoke) oder eine Anregung für Erweiterungen / Verbesserungen.
MfG, 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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 03.04.2009, 23:19 Titel: |
|
|
Du müsstest die WM_NCHITTEST abfangen können, dann könntest du die Maus durch das Fenster hindurch klicken lassen können wenn ich mich nicht irre:
http://www.vistax64.com/avalon/14846-wm_nchittest-httopleft-wpf.html (WndProc overriden).
Hoffe das geht mit WPF in irgendeiner Form.
Die Ziffern kannst du durch normale Labels anzeigen, wenn du sie gedreht haben willst (rotiert) dann kannst du Transformationsmatritzen setzen, das könnte dich da weiter bringen.
Für den Systemtray gibts ja auch ein Control das kannst du prima mit deinem Konfigurationsmenü Kombinieren.
Wenn du hierrauf antwortest werde ich mich morgen sogar etwas weiter damit beschäftigen können, jetzt bin ich nicht mehr wirklich dazu in der Lage.
mfg Mark _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 04.04.2009, 06:20 Titel: |
|
|
Du meinst, dass ich mit WM_NCI-Hittest einfach den Klick an das darunterliegende Fenster weiterleite.
Muss ich mir auch mal ansehen.
Auf PInvoke möchte ich auf jeden Fall verzichten...
Die anderen Punkte sind kein Problem, ich hatte gestern Abend einfach keine Zeit mehr für die Beschriftung. _________________
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 04.04.2009, 12:37 Titel: |
|
|
AFE-GmdG hat Folgendes geschrieben: | Du meinst, dass ich mit WM_NCI-Hittest einfach den Klick an das darunterliegende Fenster weiterleite. |
Genau, wenn du die Message abfangen kannst sollte es reichen HTNOWHERE zurück zugeben. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 05.04.2009, 10:17 Titel: |
|
|
Habe eine andere Lösung gefunden.
Das vollständige (benutzerfertige) Projekt kann man unter
http://jliforum.de/afe-gmdg/WpfEmi.zip
bekommen. _________________
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 05.04.2009, 11:15 Titel: |
|
|
Und wie hast du es nun gelöst? Anhand der .cs Dateien kann ich leider nichts sehen was das bewirken sollte. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 05.04.2009, 14:16 Titel: |
|
|
Ich ermittle den Mittelpunkt der Application bezogen auf DesktopKoordinaten und die Mausposition auf dem Desktop, rechne über Pytagoras die Distanz aus und blende die Application in abhängigkeit der Mausdistanz langsam aus, so dass sie nicht mehr Sichtbar ist, wenn die Maus auf dem Bereich der Application wäre. _________________
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 |
|
|
xardias JLI Master
Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 08.04.2009, 07:14 Titel: |
|
|
Ich arbeite momentan auch mit WPF, vor allem mit Expression Blend 2 ist das ganze ne richtig schöne Sache
Wenn die Anwenund fertig ist sag ich bescheid. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|