PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HP/Mana -Anzeige



Khazreil
10.08.2008, 13:46
Hallo zusammen!
Was die Technik des RPG Maker angeht, bin ich trotz jahrelanger Erfahrung noch ein blutiger Anfänger fürchte ich... :D
Deswegen wollte ich mal fragen, wie ihr eine HP Anzeige machen würdet, die dann rechts oben am Bildschirm erscheint. Ich habe auch schon eine gemacht, das ist nicht das Problem, nur wird bei mir der Code so ewig lang (wegen der feinen Abstufungen in der Anzeige), dass ich mich frage, ob, wenn ich jetzt noch eine Manaanzeige auf die gleiche Art und Weise mache und evtl. noch ein paar andere Spielereien im Spiel einbaue, das ganze nicht zum Ruckeln anfangen könnte. Ich poste am besten mal den Anfang vom Code:

http://www.siteupload.de/t816061-lebensanzeigePNG.PNG (http://www.siteupload.de/p816061-lebensanzeigePNG.html)
Zum Vergrößern draufklicken!

Ich hoffe, das ist verständlich... nach unten geht das ganze dann halt noch ewig dahin (insgesamt gibt es 50 Conditional Branches, die abfragen, wie voll der Lebensbalken angezeigt werden soll). Jetzt wollte ich wissen, ob es nicht noch einfacher geht, oder ob das eh keine Problem ist und nicht zum Ruckeln anfängt. Ich dachte mir, ich frag' jetz erstmal, bevor ich mir die Mühe nochmal bei der Manaanzeige antu und dann alles umsonst ist...

ThePico!!!
10.08.2008, 15:04
Ich würde dir raten den Balken nach dem Wert zu verschieben, da es so viel genauer ist. ( Move Picture...)

Beispiel aus meinem Projekt, der code spricht für sich. Man muss ganz besonders die Länge des Balkens bei der Rechnung beachten. Deswegen kannst du ihn wie er hier steht warscheinlich nicht übernehmen, aber ich hoffe das Konzept sagt dir zu.
http://img45.imageshack.us/img45/3724/123di7.png

Der Balken hat die Variable 9 als X Kord.

makenshi
10.08.2008, 15:35
Eine dauerhaft laufende Schleife für etwas was nur bei Veränderung der HP gebraucht wird? Das ist kein gutes Konzept. Man muss sich nur einmal ins Gedächnis rufen wann so ein HP-Balken sich ändert:

* Spieler bekommt HP durch Schaden abgezogen
* Spieler bekommt ein Level Up
* Spieler setzt ein Heilmittel ein

Das beste ist also in so einem Fall einfach ein zentrales CE einzurichten, das man ruft um den Balken zu ändern. Und zwar nur einmal jewals. Man hat ja sicherlich einen Punkt im Quellcode wo die Schadensberechnung ist, wo der ein Heilungseffekt generiert wird usw. Also lohnt es sich am ehesten direkt nach der Stelle im Code die die Spielerhp verändert, die Anzeige einmal zu aktualisieren.

cilence
10.08.2008, 16:16
Letztendlich geht das aber auch nur, wenn die Anzeige über dem Balken, also der Rahmen, doppelt so lang ist wie die LP Leiste selbst. Ansonsten wirst du das schon so machen müssen, wie es jetzt ist. Zumindest wenn du keinen Patch verwendest.

Serij
10.08.2008, 20:35
das mit dem ruckeln ist einfach abzuweichen, das darf nur nicht im Parallel Prozess sein, sondern im Call event, du machst die HP Funktion, dann jedes mal wenn sich was ändert zb Schaden funktion, dann diese HP Funktion aufrufen, dann verhinderst du das ruckeln

Khazreil
10.08.2008, 22:39
Jop, ich denke, ich werd' es so machen mit dem Call Event, denn sonst ruckelt das ganze so stark, dass man den Helden kaum mehr bewegen kann... Naja auf jeden Fall danke für eure Hilfe! :)

Serij
11.08.2008, 12:42
wenn du dann ein skript hast und probleme hast, dann poste nochmal, hab schon ein fehlerfreien zelda herzskript gemacht und ich könnte dir dann helfen, wenns sein muss, aber viel erfolg

R.D.
11.08.2008, 12:44
wenn du dann ein skript hast und probleme hast, dann poste nochmal, hab schon ein fehlerfreien zelda herzskript gemacht und ich könnte dir dann helfen, wenns sein muss, aber viel erfolg


Jop, ich denke, ich werd' es so machen mit dem Call Event, denn sonst ruckelt das ganze so stark, dass man den Helden kaum mehr bewegen kann... Naja auf jeden Fall danke für eure Hilfe! :)

oO
Sagt eigentlich alles^^

Khazreil
11.08.2008, 15:06
Jop, is schon alles eingebaut und fehlerfrei, Hilfe is jetzt nicht mehr nötig, aber danke. ^^
Der Thread kann btw geschlossen werden.