Zitat
Zitat von Gekiganger
@ Lachsen
Find ich wirklich super dass jetzt mal die Eigenheiten des Makers genau analysiert werden. Leider kommt der Thread für mich um c.a. zwei Wochen zu spät, da ich da mit einem ernsthaften A-KS angefangen habe, wo ich fast alle von Dir aufgeführten Punkte selbst zu spüren bekam und bewältigen musste.
Naja, hier mal ein paar bescheidene Punkte, die nochnicht erwähnt wurden:
Wenn man den Helden in einem Autostart Event mit Move Events und Move All/Wait bewegt, werden die Bewegungen aller anderer Events, egal obs sie jetzt per Move Events im Parallel Process oder per Movement Type gesteuert werden, blockiert.
Man könnte im Autostart das Move All/Wait weglassen, allerdings bewegt sich der Hero dann immer noch ein Feld weiter als eigentlich gewollt. (z.B. bei einer Enter Password Steuerung bewegt er sich um zwei Felder statt nur um eines).
Man kann das Move All/Wait aber lassen, wenn man vorher das andere Event, das jetzt auf Push Key steht, beim Betreten der Map einmal callt. Im Move Event dieses Events muss Repeat Action aktivert sein.
Jetzt muss man noch einmal warten, bis das Event einmal durchgeloffen ist, und kann sich dann selbst bewegen und die Move Events blocken sich nichtmehr gegenseitig.
Der Nachteil an dieser Sache ist allerdings, dass die andern Events immernur die selbe Strecke ablaufen können.
Bei z.B. einem Jump ´n Run muss man dann selbst abwählen, ob man ne genaue Steuerung und dumme Gegner oder eine ungenaue Steuerung und eine gute Gegner KI haben will. Doch spätestens beim Sprung braucht man Move Alls und dann werden die Gegner blokiert...
Arghhh, ich hoffe ich konnte es einigermaßen verständlich rüberbringen.:c
Befinden sich mehr als 1000 Events "in einer Reihe" im Call Status, z.B. wenn sich ein Event immer wieder selbst callt oder ein Event ein anderes callt, dieses wiederum ein weiteres und dieses wieder ein neues... bis eben 1000 Events aktiv sind, führt dies zum Absturz des Makers. ("Event Call Limit Exceeded")
Geht diese "Callschlange" von 2 (oder mehr) unterschiedlichen Events aus, können beide (alle) 1000 Calls parallel erreichen, dann befinden sich jedoch gleich 2000 (oder mehr) Events im Arbeitsspeicher!
Events mit einer niedrigen Event-ID werden immer Events mit einer höheren vorgezogen. Sollten z.B. zwei Events mit einer Berechnung haargenau zur selben Zeit fertig werden, so wird erst die des Events mit der niedrigeren ID verarbeitet.
Verlässt man zu der Zeit einen Raum, zu der die Musik zuende ist, so kommt im nächsten Raum keine Musik, wenn dort eine andere eingestellt ist.
Macht man schnell hintereinander Jumps in eine bestimmte Richtung, so nähert sich der Hero immer weiter dem Rand des Screens.
Es müssen aber wirklich sehr viele Jumps fast ohne Unterbrechung sein.
Beim Jump in eine bestimmte Richtung fragt der Maker automatisch ab, ob das Chip, auf dem der Hero landen würde, begehbar ist oder nicht. Ist es nicht begehbar, so führt er alle Befehe im Move Event aus, außer den Jumpbefehl. Wurden die Bewegungen direkt im Movement Type Fenster des Events eingegeben , so wartet das Event an der Stelle, an der es sich gerade befindet.
Macht niemals ein Show Picture ohne Wait in einen Cycle/Labelschleife. Sonst bleibt der Maker hängen.
Die Koordinaten festzulegen braucht ziemlich viel Ressourcen des Makers. Vor allem wenn man viele Koordinaten in einem PP Event festlegt, sollte man einen Wait von 0,1 Sekunden machen.
Mir hat solch ein Event, in dem ich sehr viele Koordinaten festlegte, mal das ganze Spiel lahmgelegt, aber als ich nen Wait reingemacht hatte, gings wieder problemlos.
Es dauert Euch zu lange bis der Text vollständig in der Messagebox angezeigt wird? Dann drückt doch einfach mal die SHIFT Taste. (funktioniert nur im Testplay)
Zu den Waits:
KA obs jemandem interessiert, aber die Zeitdauer, wenn ein Parallel Process Event aufhört und von neuem beginnt entspricht einem Wait von 0,0 Sekunden. Beim Autostart gibt es hingegen garkeinen "Wait".
Man kann sich auch während einem Show Message Befehl bewegen, wenn man in einem externen Parallel Proccess den Hero mit Hilfe von Enter Password und Move Events steuert. Allerdings funktionieren dann weder On Touch noch On Hero Touch Events.(da der Held ja durch Move Events gesteuert wird)
Parallel Process Events, die die Possition des Heros abfragen und dann ein Ereignis auslösen, wenn er auf einer gewissen Stelle steht, werden dabei registriert, jedoch ersteinmal auf Halde gelegt, bis die Messagebox verschwindet. Dann werden sie, unabhänig von der derzeitigen Possition des Heros, ausgeführt.
...