PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Paar kleine Fragen



dasBAUM
02.01.2007, 22:56
Huhu,
mir sind ein paar Fragen durch den Kopf gegangen, auf die ich keine Antwort weiß ^^
Vielleicht könnt ihr mir ja helfen.

1. Gibt es einen Unterschied zwischen Picture 1 und Picture 20, ausser das Picture 20 ganz vorne ist?

2. Ich bin gerade dabei ein Menü zu basteln, welches nur aus Pictures besteht. Man ruft es wie gewöhnlich mit ESC auf und das Menüpicture scrollt rein. Nun meine Frage: Im Menü kann man das aktive Item mithilfe von Arrow Left und Arrow Right auswählen, allerdings bewegt sich mein Charakter im Hintergrund, das sollte nicht sein. Und die Events sollten stehen bleiben, kann ich das einfach mit Stop Event und danach Move Event machen, oder ist das eine komplexere Angelegenheit?

3. Ich habe eine grafische Rubin(Geld)darstellung. Es geht bis in den Hunderterbereich. Wenn ich einen Rubin aufhebe, wird eine größere Abfrage getätigt, da ich das ganze grafisch darstelle. In diesem Moment ruckelt das Game einen kurzen Moment. Kann ich das irgendwie beheben bzw. eine schwächere Abfrage einbauen?

http://img292.imageshack.us/img292/9535/unbenanntwt3.png

Das wars soweit,

Gruß

Tiro&Millet
02.01.2007, 23:02
1. Meines Wissens nicht

2. Momentan keine Antwort, du könntest dir Mondschein oder ein anderes Spiel mit diesem Skript anschauen und gucken, wie's da gemacht ist.

3. Bei meinem alten P200 hatte ich das selbe Problem. Benutz nicht soviele verschachtelte Forks , schreib sie, wenns geht, hintereinander.

dasBAUM
02.01.2007, 23:12
Zu 3: Wie meinst du hintereinander?

Cherry
02.01.2007, 23:14
zu 2.: Mach das Menü Event als Autostart Common Event und aktiviere er durch einen Switch, anstatt er zu callen. Durch das Autostart sind der Hero und die anderen Events geblockt.
mfG Cherry

dasBAUM
02.01.2007, 23:17
Danke, ich werde es versuchen. ;)

Cherry
02.01.2007, 23:27
ach ja:
verschachtelt=
Fork Vari =1
bla
Else
Fork Vari =2
bla
Else
Fork Vari =3
bla
Else
bla
End Fork
End Fork
End Fork
Hintereinander=
Fork Vari =1
bla
End Fork
Fork Vari =2
bla
End Fork
Fork Vari =3
bla
End Fork
hoffe, das war verständlich!
mfG Cherry

dasBAUM
02.01.2007, 23:36
Ehm, ma schaun ob ich das richtig interpretieren kann ^^:
Es wird abgefragt

001
010
100

dann

002
020
200

richtig?

Aber das würde nicht die Länge des Scripts beeinflussen :/

Cherry
03.01.2007, 00:06
wie? 001 010 100? mal langsam, das hab ich nicht geschnallt.

Phönix Tear
03.01.2007, 00:36
1) Nope. Vielleicht irgendwas ganz spezielles. Hab bis jetzt aber noch nie von Was dem entsprechendem gehört ^^

2) Joa, wurde ja schon gesagt. Per Switch ein Auto Start Common Event anmachen.

3) Ja, da gibst nen Fehler in der Abfrage. Nicht ein Fehler in dem Sinne, aber es ist total umständlich. Ich weiß nicht wer den Mist mal in die Makerwelt gebracht hat, aber scheinbar ist der sehr populär o_O°
Du benutzt eine Schleife um die einzelnen Stellen der Zahl zu errechnen. Im Schlimmsten Fall werden alle drei Forks 9 mal durchlaufen, also 27 Durchläufe des Codes. Gut, ich muss zugeben das es mich wundert das 27 Durchläufe den Maker schon zum ruckeln bringen, aber naja...
Wozu gibt es die "mod" Funktion?

Modulo (mit Betonung auf der ersten Silbe) oder mod ist eine insbesondere in der Informatik verbreitete Funktion, die den Rest aus der Division zweier Ganzzahlen angibt.
Ein Beispiel:
14 mod 3 = 2
Warum?
14 / 3 = 4 Rest 2
Die "mod" Funktion rechnet die oben angegebene Rechnung und lässt die einfach 4 wegfallen, speichert dafür aber den Rest (also die 2).

So, wendet man diese Funktion sinnvoll an, hilft sie dir kolossal bei deinem Problem, denn:
182 mod 10 = 2
Und:
182 / 10 = 18,2 im Maker aber: 18
18 mod 10 = 8
Und:
182 / 100 = 1,82 im Maker aber: 1

Und was ist das jeweilige Ergebnis der Rechnung?
- 1
- 8
- 2
Bei einer Eingabe der Zahl 182.
Tadaa! Wir haben die einzelnen Ziffern der Zahl berechnet ^^.

So, nun die Anwendung bei deinem Problem (der Code):

<>Change Varibale "Rubine 100er", set [Money]
<>Change Variable "Rubine 10er", set [Money]
<>Change Variable "Rubine 1er", set [Money]
<>
<>Change Variable "Rubine 100er" / 100
<>Change Variable "Rubine 10er" / 10
<>Change Variable "Rubine 10er" mod 10
<>Change Varibale "Rubine 1er" mod 10
<>
<>Die Anzeige der Pictures...
<>
Ich würde dir allerdings auch raten die Zahlen jeweils als ein kleines Picture zu machen, nicht mit der Größe 320x240, welche deine scheinbar haben. Damit sparst du viel Speicherplatz. Außerdem kannst du die einzelnen Ziffern auch für alle 3 Stellen verwenden, da sich die Stellen im Normalfall Graphisch nicht unterscheiden. Du musst also nur die X-Koordinate bei der 10er Stelle im Gegensatz zur 100er stelle um ein paar Pixel erhöhen...

Soo, abgesehen von dem oben gesagten sieht der Code ganz ordentlich aus ;)

mfg
Phönix Tear

dasBAUM
03.01.2007, 03:13
Das mit dem Mod ist ja ne tolle funktion \o/
Danke für deine Hilfe :o)