ich würde gerne per Skript verschiedene Texte anzeigen lassen! Z.B. eine Art Kurzmeldung, die parallel zum Spielgeschehen erscheint, eine Art Text-Log, der unten Links angezeigt wird ähnlich wie in MMOs usw.. Ich kenne mich leider kaum mit dem Skripten aus und verursache Fehler nach Fehler - obwohl es eigentlich recht simpel sein müsste..
Das Problem ist einfach, dass ich mit Ruby kaum umgehen kann und vermutet habe, dass es sicherlich für solche Textausgaben Skripte gibt..
Ich bräuchte einen kleinen Stupser wie ich am Besten anfangen kann, das wär sehr hilfreich..
Ich kann mir zwar vorstellen was du genau meinst, jedoch hab kein Talent dies in die Tat umzusetzen :/
hmmm ^,^ Lustigerweiße brauche ich imo so etwas auch ^,^
Jetzt müsste ich bloß noch wissen, was MMO ist. Dann könnte ich dir auch komplett helfen. Ich bin Anpassbar xD
Mach mir am besten, wenn du kannst, ein Screenshot.
Und so sollen ca. die Texteinblendungen sein (Größe, Position und Farbe sowie Inhalt habe ich mal so als Beispiel festgelegt):
Wenn eine Aktion auf der Map durchgeführt wird, so wir dies textlich festgehalten. Wenn der Held also Aktion X durchführt, erscheint Satz A. Nach einiger Zeit wird Satz A auch natürlich ausgeblendet - denn wenn der Held einen Gegner erledigt, so ist dies ja 10 Minuten später schon wieder unrelevant.
Wenn der Satz A jedoch noch nicht ausgeblendet wurde und der Held eine weitere Aktion durchführt, so verschiebt sich Satz A eine Zeile nach oben und an der vorherigen Stelle tritt der neue (aktuellere) Satz B. Dies könnte man beliebig oft wiederholen, jedoch wäre ich mit 3-5 Zeilen schon komplett zufrieden.
So ein Textsystem findet man häufig in Online-Rollenspielen wie "World Of Warcraft" usw.. Da ich an einer Art Techdemo arbeite, die den Feuergefecht-Modus von "Halo Reach" (XBOX 360) mit Zombies im Grunde nachstellt, würde ich so eine Textanzeige brauchen für Meldungen wie "Runde beginnt!", "Noch 5 Minuten!" usw..
Ich entschuldige mich schon Mal für meine komplizierten Formulierungen
Aber hoffentlich weiß du was ich meine
heilige Scheiße ^,^ Das klingt nach Arbeit. Ich bin mir nicht sicher, ob ich sowas kann. Aber wer nicht wagt, nicht gewinnt.
Eins kann ich dir versprechen. Das wird viel Arbeit sein xD
heilige Scheiße ^,^ Das klingt nach Arbeit. Ich bin mir nicht sicher, ob ich sowas kann. Aber wer nicht wagt, nicht gewinnt.
Eins kann ich dir versprechen. Das wird viel Arbeit sein xD
...
Ich will dir bloß keine Umstände bereiten! Wenn es so ein Script noch nicht gibt, dann will ich nicht, dass du dir extra Mühe vor'm Rechner machst nur wegen mir, das würde sich irgendwie doof anfühlen.. :/
Ich könnte das ja auch per Pictures und Fork-Conditions machen, nur wär das womöglich auch sehr Perfomance-lastig, oder?
Vielleicht willst du einmal etwas tiefer in diesem Thread nachschauen. Ich habe dort ein kleines System entwickelt um eine Textzeile auf dem Bildschirm anzeigen zu lassen.
Nicht sonderlich fähig aber durchaus ausbaubar und einfach zu verwenden. http://www.multimediaxis.de/threads/...irm-auszugeben
Vielleicht willst du einmal etwas tiefer in diesem Thread nachschauen. Ich habe dort ein kleines System entwickelt um eine Textzeile auf dem Bildschirm anzeigen zu lassen.
Nicht sonderlich fähig aber durchaus ausbaubar und einfach zu verwenden. http://www.multimediaxis.de/threads/...irm-auszugeben
Es ist der 12 Beitrag gemeint.
...
Unglaublich! Genau sowas meine ich!
Vielen Dank, das sieht ziemlich gut aus und funktioniert auch prächtig. Ist denn auch eine Art Fading-Funktion enthalten? Bzw. lässt sich das leicht skripten?
Ansonsten bin ich ein Stück weiter und sollte ich je etwas von meinem Projekt veröffentlichen, so kannst du dir sicher sein einen Credits-Eintrag zu kriegen
Hier ist eine kleine Überarbeitung des Codes, kopiere einfach diesen Code und tausche den vorherigen komplett mit diesem aus.
Und so funktioniert das Fading.
Über folgende Funktion aktivierst du das Fading eines Textes:
set_fading(frames, fade_out)]
Diese Funktion nimmt 2 Parameter. Zum einen einen Integer (Ganze Zahl) welche angibt über wie viele Frames der Fading-Vorgang laufen soll, zum anderen einen Boolean (Wahrheitswert) welcher den Fading-Modus angibt. Hierbei steht "true" für "Fade-Out" und "false" für "Fade-In".
Damit das Fading jedoch auch funktionieren kann muss periodisch die Funktion:
update_fading
für den Text aufgerufen werden.
Die einfachste Methode wäre wohl einfach ein Common_Event als Parallel_Process laufen zu lassen welches folgende Zeile Code jedes Frame ausführt:
$t.update_fading
wobei $t eine Variable ist welche auf unseren Text verweist.
Als Beispiel:
Innerhalb eines Events erstellst du den Text:
$t = Floating_Text.new(320, 240)
Dieser Text würde nun $t heißen (das "$" ist wichtig, in Ruby gibt es an, dass es sich hierbei um eine globale Variable handelt!) und sich an der Position x=320, y=240 befinden.
Danach folgt:
$t.text_string("Hallo Welt")
Diese Zeile würde den Text "Hallo Welt" schreiben lassen.
Als nächstes das Fading:
$t.set_fading(100, true)
Damit sagen wir, dass unser Text einen Fade-Out über 100 Frames machen soll.
Als Merksatz gilt 1.0 Sekunden ist ungefähr 40 Frames, je nach Framerate und Performance des Rechners.
Dann brauchen wir nurnoch ein Common_Event oder normales Event als Parallel_Process welches diese Zeile:
$t.update_fading
aufruft.
Nun haben wir einen Text der einen Fade-Out über 100 Frames vollführt.
Nun zum Fade-In.
Dieser funktioniert im Grunde genauso, allerdings muss der Text ersteinmal eine Opacity besitzen welche ungleich 255 ist damit ein Effekt stattfindet.
Das heißt wir können entweder einen Text welcher vorher einen Fade-Out durchgeführt hatte wieder durch einen Fade-In einblenden, oder wir können einem Text direkt eine gewisse Opacity zuordnen und danach ein Fade-In durchführen.
Um die Opacity manuell zu setzen brauchst du nichts weiter tun als folgende Zeile Custom_Script in ein Event ein zu führen:
$t.opacity = 0
Damit würde der Text $t komplett unsichtbar werden.
(Die Opacity eines Sprites bewegt sich im Bereich von 0 (unsichtbar) bis 255 (vollkommen sichtbar). )
Die eingebaute Fading-Funktion macht im Grunde nichts anderes als die Opacity des Textes zu ändern.
Ich hoffe dies sollte geklärt sein, falls immernoch Fragen bestehen zögere nicht sie zu stellen.
Cornix.