Ergebnis 1 bis 10 von 16

Thema: Flash CS3 - Button mit Rückgabewert

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener User Avatar von Bodom
    Registriert seit
    30.10.2007
    Beiträge
    155

    Standard Flash CS3 - Button mit Rückgabewert

    Ok, um mein Ziel und die Situation zu beschreiben folgendes:
    Ich bin gerade dabei, ein "Tool" für Crysis zu bauen, mit dem es mir gelingt, einen Dialog zwischen NPC und Spieler zu erstellen. Dabei soll der Spieler mehrere Antwortmöglichkeiten haben (Beispiel hierfür sollen sein: Gothic (1-3), Knights Of The Old Republic (1-2), etc.).
    Soweit, so gut. Mehr oder weniger hab ich das auch schon über die Vorhandenen FlowGraphs zum laufen gebracht. Nur hab ich mir dann an dieser Stelle gedacht: hey, wenn du dir das selber zusammenklempnerst könnte es ein viel einfacherer FlowGraph werden.
    Als ich dann angefangen habe zu basteln ist mir noch eine Mauszeigerunterstützung in den Sinn gekommen. Wäre für den Spieler nun mal auch wesentlich komfortabler.

    Und als weitere Vorlage für solch ein "Dialog-Menü" kam mir das Interface in den Sinn, mit welchem man in Crysis die Waffen verändern kann (Schalldämpfer, Visiere, etc.). Dort gibt es schließlich genau meine gewünschte Mausunterstützung und Sachen zum anklicken und auswählen und blablabla.

    Lange Rede, kurzer Sinn:
    Ich bin soweit, dass ich das Menü zum laufen gebracht habe, Problem ist aber noch, dass ich zwar Buttons habe, jedoch weiß ich nicht wie ich in Crysis nun den Mauszeiger reinbekomme wie in dem Waffen-Menü.

    Bei einem Flash-Tutorial auf crymod.com bin ich schon vor längerer Zeit auf die Flash-Files von Crysis gestoßen und habe dort mal nachgeschaut aber so richtig durchblicken tu ich da leider nicht.
    Und auch sonst hab ich kein Tutorial gefunden, bei dem mir gezeigt wird, wie ich ein Rückgabe-Wert behandel. Zwar Button-Tutorials aber alle ohne Rückgabe-Wert o.O

    Kann mir da jemand weiterhelfen? Wenn nötig, kann ich auch ein paar Bilder posten.

  2. #2
    VIP Avatar von Pat21
    Registriert seit
    06.09.2007
    Beiträge
    10.654

    Standard

    @ Bodom
    Schaue dir zu diesem Node mal den Source-Code an:
    http://www.crymod.com/thread.php?thr...ilight=mouse+c

  3. #3
    Erfahrener User Avatar von Bodom
    Registriert seit
    30.10.2007
    Beiträge
    155

    Standard

    Schon mal vielen Dank!

    Ich werd's ausprobieren und mir zu Gemüte führen. Falls noch was is, meld ich mich^^.

  4. #4
    Professional Avatar von Hamers
    Registriert seit
    29.02.2008
    Ort
    Mittendrin
    Beiträge
    2.760

    Standard

    @Bodom

    Willst du es so wie Crytek machen, brauchst du C++. Mit der Funktion "SwitchToModalHUD" kannst du die Maus auf einer Flash Datei aktivieren. Rückgabewerte erstellst du in der Flash Datei mit der Funktion "fscommand" und in C++ empfängst du diese mit einem "FSCommandHandler"

  5. #5
    Erfahrener User Avatar von Bodom
    Registriert seit
    30.10.2007
    Beiträge
    155

    Standard

    hehe, danke dir auch für die hilfe!
    ich werd's morgen anfangen in ruhe, da ich heute relativ viel anderes zeugs um die ohren hatte^^.

    EDIT:
    Hab mich jetzt in den letzten Tagen damit beschäftigen können und funktioniert soweit klasse. Ich hab bis jetzt nur das Problem, dass meine Flash-Funktion nicht richtig funktioniert (Spiel stürzt ab) und ich hab keine Ahnung woran das liegt. Bin leider halt nicht der Flash-Freak, aber ich hoff, dass ich es noch zum funktionieren bekomm. Wenn's fertig ist, will ich es per Video zeigen.
    Geändert von Bodom (19.02.2010 um 10:55 Uhr)

  6. #6
    Erfahrener User Avatar von Bodom
    Registriert seit
    30.10.2007
    Beiträge
    155

    Standard

    Nochmal ne Frage:
    Um die Maus benutzen zu können benötige ich doch 2 Listener, diese bau ich wie folgt in den Code ein:

    Code:
    class CFlowNode_Bla: public CFlowBaseNode, public IInputEventListener, public IHardwareMouseEventListener
    {
       if(gEnv->pHardwareMouse)
       {
         gEnv->pHardwareMouse->AddListener(this);
       }
       if(GetISystem()&&GetISystem->GetIInput())
       {
         GetISystem()->GetIInput()->AddListener(this);
       }
    }
    Und nun stürzt das Spiel ab. Wenn ich die beiden Zeilen mit "AddListener(this)" auskommentiere, läufts weiter.
    Ich weiß, dass ich noch verschiedene Funktionen benötige, um einen Input zuverarbeiten (also wenn z.B. die linke Maustaste gedrückt ist). Die hab ich ebenfalls eingebaut.
    Hab mich insgesamt an das Beispiel von Pat21 gehalten.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •