![]() |
|
RPG Maker Technik (2K/2K3) Stellt hier eure Fragen zur Technik des RPG Maker 2000 und 2003; Er will nicht so wie ihr? Ihr könnt ein Chipset nicht importieren oder versteht ein Script nicht? |
![]() |
|
Themen-Optionen |
![]() |
#1 |
The System of Art
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
|
![]() Ich spiele derzeit wieder ein wenig mit dem Mauspatch von Ineluki herum und da sind (erstmal) drei Fragen aufgetaucht:
1. Gibt es eine Möglichkeit zu verhindern, dass die Maus, bzw. der Mauszeiger, im Spiel sofort in eine bestimmte Ecke (bei mir rechts unten, vll. ist das immer so?) verschwindet, sondern standardmässig ersteinmal in der Mitte bleibt? 2. Wie erstelle ich einen Mauszeiger, der aus zwei Teilen besteht. Aus einem Teil, der nicht transparent ist (dem Zeiger selbst zB.) und einem animierten, transparentem Teil. Bis jetzt habe ich nämlich das Problem, dass durch die Animation (in der sich "Waits" befinden) die Bilder nicht ständig, sondern im Abstand von einem Wait mit 0.1 aktualisiert werden und dadurch der transparente Teil hinter dem nicht transparentem her ist ![]() 3. Nehmen wir als Beispiel an, ich habe drei Menüpunkte (zB. Start/Laden/Beenden) die ich mit Tastatur UND Maus auswählen kann. Wie kann ich es nun machen, dass, wenn der Mauszeiger auf einem Punkt steht (zB. "Start") und dieser nun hervorgehoben ist, als Zeichen der aktuellen Auswahl, zB. mit einer anderen Schriftfarbe und ich dann mit der Tastatur auf "Laden" gehen will, dass sich die Maus dann nicht einmischt und eben "Laden" ausgewählt wird? Derzeit ist es so, dass ich mit der Maus zB. auf "Laden" fahre, mit der Tastatur aber auf "Start" will, dass der Punkt nur ganz kurz auf "Start" hüpft, da die Maus ja ständig ihre Position überprüft und dadurch die Auswahl wieder auf "Laden" setzt. Ich will aber, dass sich die Maus erst dann wieder einmischt, wenn ich sie bewege =/ Ist das irgendwie möglich? Danke schon einmal im Voraus! LG Mike |
![]() |
![]() |
![]() |
#2 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
|
![]() @2: Indem du nicht Wait 0.1 verwendest, sondern Wait 0.0, z.B. so (angenommen du hast 3 Frames):
Label 1 Zähler += 1 Zähler Mod= 18 (18 = 6 [siehe unten] * 3 [3 Frames in der Animation]) Frame = Zähler Frame /= 6 (6x Wait 0.0 = 1x Wait 0.1, also heißt "6" hier "alle 0.1 Sek. ein Frame") If Frame == 0 ...Move Picture #10 (x, y), Trans 0% Else ...Move Picture #10 (x, y), Trans 100% EndIf If Frame == 1 ...Move Picture #11 (x, y), Trans 0% Else ...Move Picture #11 (x, y), Trans 100% EndIf If Frame == 2 ...Move Picture #12 (x, y), Trans 0% Else ...Move Picture #12 (x, y), Trans 100% EndIf Wait 0.0 Go To Label 1 ...in diesem Beispiel hast du am Anfang die drei Frames in die Bilder 10, 11 und 12 geladen. Durch das Trans 0% (sichtbar)/100% (unsichtbar) musst du nicht jedes Mal Show Picture verwenden, was extrem laggen würde.
__________________
|
![]() |
![]() |
![]() |
#3 |
The System of Art
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
|
![]() Ich verwende allerdings nicht nur ein Bild, das verschiedene Transparenzwerte hat, sondern mehrere Bilder, die ausgetauscht und so zu einer flüssigen, 70% transparenten Animation werden.
Ich habe jetzt zwei Lösungen gefunden: 1. Jede Animationsstufe mehrmals anzeigen lassen um so eine Verzögerung zu erreichen. 2. Mehrere Eventseiten (jede Seite mit einer Stufe der Animation), die durch eine Variable gesteuert werden, die immer ein 0.1 Wait dazwischen hat. LG Mike |
![]() |
![]() |
![]() |
#4 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
|
![]() Ich weiß.
In meinem Beispiel werden drei Bilder (10, 11, 12) verwendet, die nacheinander erscheinen. Immer das aktive Bild erhält Transparenz 0% (ist also sichtbar) und alle anderen 100% (ist also nicht sichtbar). Du kannst statt 0% hier einfach 70% nehmen. ![]()
__________________
|
![]() |
![]() |
![]() |
#5 |
The System of Art
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
|
![]() Ahja. Aber ist das nicht ein wenig kompliziert für so ein einfaches Problem? ^^" Ich sehe gerade auch nicht, wie genau der Zähler nach Ablauf der Animation wieder zurückgesetzt wird, damit sie wieder von Vorne beginnt.
Was mich derzeit noch am meisten stört ist die Anfangsposition der Maus. Wenn man nämlich keine Ahnung hat, dass man die Maus überhaupt benutzen kann, findet man sie rechts unten nicht xD LG Mike |
![]() |
![]() |
![]() |
#6 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
|
![]() Zurückgesetzt wird der Zähler bei "Zähler Mod= 18" (denn wenn er 18 erreicht, wird 18 Mod 18 gerechnet, was 0 ergibt).
Und nein, es ist nicht kompliziert. Es ist die einfachste und vor allem performanteste Lösung, denke ich. Stell dir für du würdest 10x in der Sekunde ein Show Picture machen (was heißt dass die Datei ständig wieder von der Festplatte geladen wird)! Mit dem obigen Code erreichst du meiner Meinung nach das Meiste mit der wenigsten verbrauchten Leistung.
__________________
|
![]() |
![]() |
![]() |
#7 | |
The System of Art
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
|
![]() Zitat:
Ich versuche mal deine Variante ![]() LG Mike Geändert von Mike (29.11.2011 um 20:58 Uhr). |
|
![]() |
![]() |
![]() |
#8 | |
The System of Art
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
|
![]() Heute hab' ich endlich mal Zeit um das Animationsproblem zu lösen, das du mir beschrieben hast, Cherry. Nur verstehe ich gerade den Anfang nicht =/
Dieser Teil ist mir nicht ganz verständlich: Zitat:
LG Mike |
|
![]() |
![]() |
![]() |
#9 |
Redakteur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 15.09.2002
Ort: Rock City
Alter: 29
Beiträge: 5.360
|
![]() Ich versuchs mal zu erklären ^^ Ist nicht ganz einfach. Also:
du willst, dass pro 0.1s ein Frame angezeigt wird. Damit es nicht zum "ruckeln" kommt, müssen wir aber allerdings alle 0.0s einen Frame anzeigen (in diesem Falle also nur ein Movepicture, damit nicht immer das Bild komplett neu geladen werden muss). Da 0.0s * 6 im Maker genau 0.1s entsprechen, reicht es an jeder sechsten Iteration durch die Schleife einen Frame neu anzuzeigen. 3 Frames, alle 6 0.0s = 18. Das "Mod 18" dient lediglich der Reinitialisierung der Schleife auf den Wert 0. Hätte man aber sicher auch anders machen können. 1 Mod 18 = 1 1 / 6 = 0 daraus folgt: Frame == 0 also wird der erste Frame angezeigt und zwar solange bis der Zähler 6 wird. 6 Mod 18 = 6 6 /6 = 1 Frame == 1 also wird der zweite Frame angezeigt und zwar so lange bis der Zähler 12 wird. Ist der Zähler schließlich 18 wird die Schleife von vorne gestartet da 18 Mod 18 = 0 ![]() Ich hoffe das war halbwegs verständlich erklärt XD Geändert von Teclis (08.12.2011 um 10:27 Uhr). |
![]() |
![]() |
![]() |
#10 |
The System of Art
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
|
![]() Ja
![]() LG Mike |
![]() |
![]() |
![]() |
Lesezeichen |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
|
|