Events wie funktioniert das?
-
Hallo,
wie funktionieren Events bzw. wie programmiert man sie?danke
-
Events bedeutet einfach Ereigniss. Was willst du genau machen? Wirf am besten nicht mit unverstandenen Worten um dich rum.
Boost::Signal ist vielleicht ein Einstieg für dich.
-
Servus kingruedi,
ich will für mein Spiel ein GUI System machen und dazu brauche ich am besten Ereignisse wie z.B. Maus über den Button, Maus gedrückt etc.. Ich habe keine Lust z.B. für den Button in der Methode mouseClick einen Funktionszeiger als Parameter zu haben der dann die Aktion aufruft. Außerdem kann ich den Code für den Mouseclick in der Buttonklasse schlecht implementieren weil ich nicht noch mehr abhängigkeiten haben will. Wie stelle ich sowas am besten an?
-
Callback Methoden sind die Lösung. Was hast du gegen Funktionszeiger?
-
Optimizer schrieb:
Callback Methoden sind die Lösung. Was hast du gegen Funktionszeiger?
Ich will in meinen OOP Spiel keine globalen Funktionen(abgesehen von der WinMain etc.) haben. Wie funktionieren Callback Methoden?
-
Andal schrieb:
Optimizer schrieb:
Callback Methoden sind die Lösung. Was hast du gegen Funktionszeiger?
Ich will in meinen OOP Spiel keine globalen Funktionen(abgesehen von der WinMain etc.) haben. Wie funktionieren Callback Methoden?
dann nimm statische methoden.
-
Wie wäre es mit Funktionsobjekten?
-
Oder nimm C# - das hat bereits in der Sprache selbst Keywords zur Handhabung von Callback-Funktionen integriert.
-
Die da wären? Delegates sind simple Funktionspointer, die gibt es in C++ auch.
Nimm aber trotzdem C#.
-
Optimizer schrieb:
Die da wären?
delegate, event und der die delegate-Operatoren +=, -=.
Delegates sind simple Funktionspointer, die gibt
Delegates sind Objekte - keine Funktionspointer. Sie sind Typsicher und außerdem wesentlich eleganter in der Benutzung.
-
Andal schrieb:
Ich will in meinen OOP Spiel keine globalen Funktionen(abgesehen von der WinMain etc.)
wenn's total oo sein soll, dann orientier dich doch an dem design pattern 'command'
guckst du: http://www.dofactory.com/Patterns/PatternCommand.aspx
-
Das Observer-Pattern könnte auch weiterhelfen.
-
net schrieb:
...design pattern 'command'
interpreter schrieb:
Das Observer-Pattern ...
2 doofe, ein gedanke
-
net schrieb:
net schrieb:
...design pattern 'command'
interpreter schrieb:
Das Observer-Pattern ...
2 doofe, ein gedanke
Sind das nicht 2 unterschiedliche Pattern?
-
interpreter schrieb:
Sind das nicht 2 unterschiedliche Pattern?
sicher, muss er halt sehen was besser passt.
ich meinte, dass zwei im abstand von wenigen sekunden einen ähnlichen beitrag schreiben ist schon witzig
-
net schrieb:
interpreter schrieb:
Sind das nicht 2 unterschiedliche Pattern?
sicher, muss er halt sehen was besser passt.
ich meinte, dass zwei im abstand von wenigen sekunden einen ähnlichen beitrag schreiben ist schon witzigGedankenübertragung
-
schau dir einfach mal boost::signal an (siehe Link in meinem ersten Beitrag) damit kannst du auch ohne Probleme Member Funktionen etc. verbinden.
-
interpreter schrieb:
Oder nimm C#
nie im leben! das ist ja genauso schlimm wie java
-
Andal schrieb:
interpreter schrieb:
Oder nimm C#
nie im leben! das ist ja genauso schlimm wie java
Warum habe ich nur das Gefühl, dass sich diese Person mit C# garnicht richtig auskennt...
-
interpreter schrieb:
Andal schrieb:
interpreter schrieb:
Oder nimm C#
nie im leben! das ist ja genauso schlimm wie java
Warum habe ich nur das Gefühl, dass sich diese Person mit C# garnicht richtig auskennt...
immerhin weiss er, dass .net und java sich ähneln