Kamikaze Board



Zurück   Kamikaze Board > RPG Maker > RPG Maker Technik (2K/2K3)

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?

Antwort
 
Themen-Optionen
Alt 29.11.2011, 11:19   #1
Mike Männlich
The System of Art
 
Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
Standard Ineluki's Mauspatch div. Fragen

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 Sieht etwas komisch aus.

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
Mike ist offline   Mit Zitat antworten
Alt 29.11.2011, 16:00   #2
Cherry Männlich
Kirscherator
 
Benutzerbild von Cherry
 
Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
Standard

@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.
__________________
Cherry ist offline   Mit Zitat antworten
Alt 29.11.2011, 17:10   #3
Mike Männlich
The System of Art
 
Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
Standard

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
Mike ist offline   Mit Zitat antworten
Alt 29.11.2011, 17:27   #4
Cherry Männlich
Kirscherator
 
Benutzerbild von Cherry
 
Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
Standard

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.
__________________
Cherry ist offline   Mit Zitat antworten
Alt 29.11.2011, 17:59   #5
Mike Männlich
The System of Art
 
Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
Standard

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
Mike ist offline   Mit Zitat antworten
Alt 29.11.2011, 19:44   #6
Cherry Männlich
Kirscherator
 
Benutzerbild von Cherry
 
Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
Standard

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.
__________________
Cherry ist offline   Mit Zitat antworten
Alt 29.11.2011, 20:54   #7
Mike Männlich
The System of Art
 
Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
Standard

Zitat:
Zitat von Cherry Beitrag anzeigen
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)!
Daher benutze ich (derzeit) Variante 2. In einem Parallelen-Event habe ich eine Variable die im Abstand von 0.1 drei Eventseiten durchschaltet, auf denen jeweils ein Teil der Animation ist. Was natürlich auch viel Performance braucht ^^ Aber das tut der Mauspatch selbst eigentlich auch, wegen der Mauszeigerpositionsüberprüfung ^^

Ich versuche mal deine Variante

LG Mike

Geändert von Mike (29.11.2011 um 20:58 Uhr).
Mike ist offline   Mit Zitat antworten
Alt 04.12.2011, 12:01   #8
Mike Männlich
The System of Art
 
Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
Standard

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:
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")
Ich bin hin und wieder ein totaler Anfänger wenn's um Variablen usw. geht.

LG Mike
Mike ist offline   Mit Zitat antworten
Alt 08.12.2011, 10:24   #9
Teclis Männlich
Redakteur
 
Benutzerbild von Teclis
 
Registriert seit: 15.09.2002
Ort: Rock City
Alter: 29
Beiträge: 5.360
Standard

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).
Teclis ist offline   Mit Zitat antworten
Alt 08.12.2011, 11:50   #10
Mike Männlich
The System of Art
 
Registriert seit: 22.12.2005
Ort: Österreich/Steiermark
Alter: 25
Beiträge: 964
Standard

Ja Super! Danke ^^ Jetzt hab' ich es verstanden. Bin froh, dass die Maus in Diebe nicht zum Einsatz kommt und ich nur ein paar Versuche damit mache ^^

LG Mike
Mike ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:44 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
RPGA.info