Character ins Bild laufen lassen
Character ins Bild laufen lassen
Hi,
wie kann ich eine Figur aus dem Off ins Bild fahren lassen?
wie kann ich eine Figur aus dem Off ins Bild fahren lassen?
Der Raum muss größer als 1 Bildschirmgröße sein und während die Kamera auf den einen Teil des Raums zeigt, startet der Charakter im nicht sichtbaren Teil des Raums und läuft in den sichtbaren Teil.
Zur Veranschaulichung: Wie das mit übergroßen Räumen funktioniert, siehst du, wenn du einen Raum erstellst und dann mit den Reglern unten für die Raumgröße spielst - irgendwann ist der Raum größer als eine Bildschirmgröße (640x480, 800x600, 1024x768 etc.) und du kannst im Raumfenster mit einem roten Rahmen durch den Raum fahren.
Zur Veranschaulichung: Wie das mit übergroßen Räumen funktioniert, siehst du, wenn du einen Raum erstellst und dann mit den Reglern unten für die Raumgröße spielst - irgendwann ist der Raum größer als eine Bildschirmgröße (640x480, 800x600, 1024x768 etc.) und du kannst im Raumfenster mit einem roten Rahmen durch den Raum fahren.
Nicht den Charakter, sondern ein Objekt, das du vorübergehend (d.h. für dieses In-dem-Raum-Reinlaufen) als Charakter benutzt. Das Objekt wird reingeschoben, dann dessen Zustand auf 0 gesetzt und dann ein Charakter aus einem "Vorratsraum" an die Stelle gebeamt.tichy wrote:also kann ich zu beginn den character auf Position -10 verschieben und dann im Script zu +10 laufen lassen?
*edit: Wobei: Also bei walkto() können nur gültige Walkmapwerte innerhalb des Raums angegeben werden. Es wäre aber auszuprobieren, den Charakter erst an ein leeres Objekt zu linken und dann das Objekt aus dem Raum zu schieben.
loadchar hat nichts mit dem Erscheinen einer Figur zu tun. Es dient dazu die Ladezeit eines Charakters und seiner Grafiken (die machen im Spiel meistens den Löwenanteil der Wartezeit aus) geschickt an die richtigen Stellen zu plazieren um so kurzzeitiges und unschönes Einfrieren des Spiels wenn ein Charakter zum ersten mal auftauscht zu verhindern.
Zum Problem : Den Charakter von rechts reinlaufen lassen geht ohne Probleme, dazu den Raum kurz vergrößern um alle Walkmapbereiche freizulegen und ihn dann wieder verkleinern. Im Spiel kann nun ein Charakter auf diese Stellen gebeamt werden aber der Bildschirm scrollt niemals in den Leeren Bereich hinein.
Von links aus wüsste ich jetzt so leider keine Lösung die verhindert das im normalen Sielverlauf dieser leere Bereich sichtbar wäre.
Zum Problem : Den Charakter von rechts reinlaufen lassen geht ohne Probleme, dazu den Raum kurz vergrößern um alle Walkmapbereiche freizulegen und ihn dann wieder verkleinern. Im Spiel kann nun ein Charakter auf diese Stellen gebeamt werden aber der Bildschirm scrollt niemals in den Leeren Bereich hinein.
Von links aus wüsste ich jetzt so leider keine Lösung die verhindert das im normalen Sielverlauf dieser leere Bereich sichtbar wäre.
Hmm also so richtig will das nicht klappen.
Wahrscheinlich muss ich das ganze script system noch besser verstehen.
ich habe jetzt ein Object erstellt und vor dem Character platziert,
dann habe ich folgende Code zeilen eingegeben, und zwar ins hauptscript:
Am anfang flitzt die Figur entsprechend schnell weg. ist nicht mehr im Bild zu sehen.
Aber anstantt genauso schnell wieder an die ursprüngliche Position zu fliegen führt er von den letzten 2 Befehlen nur den 2. Aus und fliegt gemütlich von 103;-500 zu 226;500 was aber mist ist!!!!!!
Irgendwie habe ich eh das gefühl das er oft da hingeht wo er will, aber naja, ich werde schon noch dahinter steigen.
Wahrscheinlich muss ich das ganze script system noch besser verstehen.
ich habe jetzt ein Object erstellt und vor dem Character platziert,
dann habe ich folgende Code zeilen eingegeben, und zwar ins hauptscript:
Code: Select all
loadroom(tardis)
linkchar (dalek ;dummy1)
moveobj(dummy1;103;-500;0)
wait(1)
setobj (Object1 ; 2)
speech(self;Yes Master;dontwait)
wait(5)
setfocus(Character1)
moveobj(dummy1;103;500;0)
moveobj(dummy1;226;500;9)
Aber anstantt genauso schnell wieder an die ursprüngliche Position zu fliegen führt er von den letzten 2 Befehlen nur den 2. Aus und fliegt gemütlich von 103;-500 zu 226;500 was aber mist ist!!!!!!
Irgendwie habe ich eh das gefühl das er oft da hingeht wo er will, aber naja, ich werde schon noch dahinter steigen.
Ja ne, hat sich erledigt. Ich habe es geschafft


Code: Select all
loadroom(tardis)
setfocus(Character1)
linkchar (dalek ;dummy1)
moveobj(dummy1;-503;500;0)
wait(1)
setobj (Object1 ; 2)
speech(self;Yes Master;dontwait)
wait(5)
moveobj(dummy1;226;500;9)