Anleitung für Schieberegler gesucht

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
Meditroid
PaC-DK Newby
Posts: 28
Joined: 30 Jul 2012, 00:49
Contact:

Anleitung für Schieberegler gesucht

Post: # 79960Post Meditroid
18 Dec 2012, 00:02

Moin Leute!
Ich wollte nochmal nachfragen, ob jemand eine genaue Schritt für Schritt Anleitung für Regler schreiben könnte (gerne auch mit Bildern erklärt).
Also solche Schieberegler, womit man z.B. die Musiklautstärke ändern kann.
Es gibt zwar eine Demo, aber mit der komm ich irgendwie nicht ganz klar.

Würde mich sehr über Hilfe freuen!

- Meditroid

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Re: Anleitung für Schieberegler gesucht

Post: # 79961Post japanhonk
18 Dec 2012, 06:43

Wüsste ausser der Demo keine passende Quelle.
Habe die Regler auch bei meinem Spiel eingebaut Zur Lautstärkeänderung. Allerdings etwas modifiziert. Hat aber auch erst nach einigem Rumeiern geklappt.

Was genau ist Dir denn unklar dabei ?
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: Anleitung für Schieberegler gesucht

Post: # 79963Post Zimond
18 Dec 2012, 15:54

Die Schieberegler Demo ist imho der einfachste Weg. Was daran macht dir denn Schwierigkeiten?
Image

Meditroid
PaC-DK Newby
Posts: 28
Joined: 30 Jul 2012, 00:49
Contact:

Re: Anleitung für Schieberegler gesucht

Post: # 79964Post Meditroid
18 Dec 2012, 18:01

Danke für die Antworten!

Mein Problem ist, dass ich alle Skripte abgearbeitet, kopiert und geändert habe, aber sie sich trotzdem nicht bewegen lassen.
Sonst klappt alles wunderbar und ich hab Null Probleme mit dem Creator, aber diese Regler machen mich echt wahnsinnig. :D

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Re: Anleitung für Schieberegler gesucht

Post: # 79965Post japanhonk
18 Dec 2012, 20:06

Vielleicht hilft Dir mein Skript ja, es sind drei Schieberegler im Raum.
Ich hoffe, ich habe die Variablen von nur einem Knopf reingeschrieben und die Anderen
rausgenommen....

Prinzip :

Beim Betreten des Raumes wird die Y Position des Buttons ermittelt.
Wenn der Button angeklickt wird, wird ein Bool gesetzt auf true und dann der loop1 Teil
ausgeführt, der die Y Position des Mauszeigers auf den Button überträgt.

Ausserdem wird , abhängig von der Position zwischen 2 Bereichen, die Lautstärke geändert.
Die Variablen mit dem Zusatz -ref sind die Grundwerte, von denen die Berechnung ausgeht.
Darum ist die Abfrage eben nicht völlig stufenlos. Der Regler aber ist stufenlos beweglich.

Ich hoffe, dass Das Prinzip der Bewegung hier dir weiterhilft.


Raumskript :

on (enter)
{
setnum (musicvolume_light;255)
setnum (opt_y_button_32_last;[mousey]) -> Variable der aktuellen Maushöhe setzen
textout (12;[speechvolume_ref];430;380;1;200;200;250)
textout (11;[musicvolume_ref];365;380;1;200;200;250)
}

on (loop1)
{
if_bool (button1_click;true) --------> Der Bool wird beim Anklicken des Buttons gesetzt
{
setnum (opt_y_button_32;[mousey]) ---->Variable Y-Position an Mausposition anpassen
if_num (mousey;<[opt_y_button_32_last]) -> Aktuelle Y Position kleiner, als vorher ?
setnum (musicvolume_ref;-1) -------------> Grundlautstärke -1
if_num (mousey;>[opt_y_button_32_last]) -> Aktuelle Y Position grösser als vorher ?
setnum (musicvolume_ref;+1) -------------> Grundlautstärke +1
setnum (opt_y_button_32;-20) ----------> Variable Y Position -20
if_num (opt_y_button_32;<130)
setnum (opt_y_button_32;131)
if_num (opt_y_button_32;>304)
setnum (opt_y_button_32;303)
if_num (opt_y_button_32;<137)
setnum (musicvolume_ref;0)
if_num (opt_y_button_32;137)
setnum (musicvolume_ref;1)
if_num (opt_y_button_32;210)
setnum (musicvolume_ref;50)
if_num (opt_y_button_32;>300)
setnum (musicvolume_ref;100)
setnum (opt_y_button_32_last;[mousey])
if_num (musicvolume_ref;<100)
if_num (musicvolume_ref;>1)
musicvolume ([musicvolume_ref])
if_num (musicvolume_ref;<2)
setnum (musicvolume_ref;1)
if_num (musicvolume_ref;>100) ------> Musiklautstärke grösser, als100 % ?
setnum (musicvolume_ref;100) ------> Dann auf 100 % setzen.
musicvolume ([musicvolume_ref])
moveobj (opt_but_32;368;[opt_y_button_32];0) -------> Button auf neue Y Position setzen
textout (11;[musicvolume_ref];365;380;1;200;200;250)
}
}

Und hier das Skript des Buttons :

on (mouse)
{
playsound (transene.voc;10)
showinfo (Change Music Volume;true)
setbool (button1_click;false)
setnum (opt_y_button_32;[mousey]) -------> Variable auf Mauszeiger setzen
command (walk)
textout (103;Volume : [musicvolume_ref];118;248;1;255;255;0)
textout (104;Volume : [speechvolume_ref];118;314;1;255;255;255)
}

on (click)
{
setbool (button1_click;true) --------> jetzt wird der loop1 Teil ausgeführt
playsound (transdem.voc;5)
}

on (release)
setbool (button1_click;false) ----> Jetzt nicht mehr

on (mouseout)
{
textout (103;Volume : [musicvolume_ref];118;248;1;255;255;255)
textout (104;Volume : [speechvolume_ref];118;314;1;255;255;255)
}
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Re: Anleitung für Schieberegler gesucht

Post: # 79969Post japanhonk
19 Dec 2012, 17:55

Bin gerade am Tüfteln, um Pixelpositionen in Lautstärkewerte umzuwandeln und umgekehrt.

Muss die Formels aber noch checken, um sicherzugehen, dass die wirklich richtig funktionieren.

Formeln und Beispiele folgen dann.
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Re: Anleitung für Schieberegler gesucht

Post: # 79991Post japanhonk
20 Dec 2012, 17:54

Ich hoffe, dass das richtig klappt und Dir weiterhilft :

Ausgangslage : Ich öffne einen Raum, in dem ein Schieberegler die Lautstärke stufenlos
einstellen soll.

Der Schiebebereich Y-Start beginnt bei 100 Pixeln von oben und endet bei Y_End 500 Pixeln von oben.
Die Strecke Y_Weg beträgt damit 400 Pixel.

Daraus kannst Du schon mal schliessen :

bei einem Weg von 400 Pixeln, entsprechen je 100 Pixel einem Prozentwert
von 25 % ( 4x25 % sind nach Adam seinem Riesen ja 100 % )

also : 100 Pixel = 25 % ,200 Pixel = 50 %, 300 Pixel = 75 %, 400 Pixel = 100 %

Am Anfang haben wir die Musiklautstärke musicvolume auf 50 % eingestellt.

Wenn der Raum betreten wird, muss das "Schieberobjekt" entsprechend der Lautstärke positioniert werden. In diesem Fall wäre das bei 400 Pixel Wegstrecke bei 200 Pixeln, plus die
Strecke , an der die Regelstrecke beginnt - also Y_Start : 100 Pixel.

Das Objekt muss also einen Y-Wert von 300 haben.

Berechnung :

Y_pos_button =

Wegstrecke x Lautstärke
------------------------ + Y_Start
100

Also : 400 Pixel x 50 % = 20000 -> : 100 = 200 -> + 100 = 300 Pixel ab oberem Bildschirmrand.



Wenn ich den Regler jetzt von 300 auf 400 Pixel verschiebe müsste sich der Wert musicvolume um
25 % lauter von 50 auf 75 % ändern :

Y_Differenz = [objy:button] - y_start --> 400 Pixel - 100 Pixel = 300 Pixel

Das ist jetzt der Weg , den der Button vom Startpunkt bei 100 Pixeln zurückgelegt hat.

Jetzt berechnen wir daraus die neue Lautstärke :

musicvolume =

Y_Differenz x 100
-----------------------
Y_Weg

in Zahlen : musicvolume = 300 x 100 = 30000 -> :400 = 75 % ...Erstaunlich.... :mrgreen:


Diese Funktion kannst per loop Befehl im Raumskript laufen lassen, solange Du den Button
per click drückst und ihn dann per moveobj auf die neue Y-Position setzt.


Hoffe , dass das einigermassen verständlich rüberkommt...

Und in der nächsten Folge : Auswirkungen der Mondstrahlen auf die Wuppdität der Nordhalbkugel... :mrgreen: :bravo:
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

Meditroid
PaC-DK Newby
Posts: 28
Joined: 30 Jul 2012, 00:49
Contact:

Re: Anleitung für Schieberegler gesucht

Post: # 80040Post Meditroid
29 Dec 2012, 10:07

Ohh je... Viel Dank erstmal!
Ich konnte über die Feiertage leider nicht schauen, werde mich aber bald ran machen. Nun muss ich das ganze erstmal verstehen und mich da rein finden, sollte schon irgend wie klappen. Vielen Dank! :D

Post Reply