Character ins Bild laufen lassen

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
tichy
PaC-DK Newby
Posts: 11
Joined: 22 Aug 2009, 13:26

Character ins Bild laufen lassen

Post: # 74317Post tichy
22 Aug 2009, 15:17

Hi,
wie kann ich eine Figur aus dem Off ins Bild fahren lassen?

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 74320Post Baelavay
22 Aug 2009, 16:19

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.

tichy
PaC-DK Newby
Posts: 11
Joined: 22 Aug 2009, 13:26

Post: # 74321Post tichy
22 Aug 2009, 16:54

Hmm, aber dann ist doch der Raum genrell größer,
also kann der Spieler wenn er zuweit in eine richtung geht den schwarzen rand sehen. gibt es eine andere möglichkeit?

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 74322Post Baelavay
22 Aug 2009, 16:57

Du kannst Charaktere nur innerhalb der Kacheln der Walkmap laufen lassen, und die ist genauso groß wie der Raum. Du kannst aber Objekte aus dem Raum hinaus verschieben, wenn du bei moveobj() Werte angibst, die jenseits der Raumgröße liegen.

tichy
PaC-DK Newby
Posts: 11
Joined: 22 Aug 2009, 13:26

Post: # 74323Post tichy
22 Aug 2009, 16:58

also kann ich zu beginn den character auf Position -10 verschieben und dann im Script zu +10 laufen lassen?

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 74324Post Baelavay
22 Aug 2009, 17:01

tichy wrote:also kann ich zu beginn den character auf Position -10 verschieben und dann im Script zu +10 laufen lassen?
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.

*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.

tichy
PaC-DK Newby
Posts: 11
Joined: 22 Aug 2009, 13:26

Post: # 74325Post tichy
22 Aug 2009, 17:24

kann ich auch einen Char laden mit
loadchar()
und ihn dann ein einen beliebigen punkt beamen?

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

Post: # 74328Post Zimond
22 Aug 2009, 19:21

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.

tichy
PaC-DK Newby
Posts: 11
Joined: 22 Aug 2009, 13:26

Post: # 74329Post tichy
23 Aug 2009, 00:57

alles klar, danke erstmal.
Ja von Links aus wäre das doch mal eine super sache, vielleicht hilft ja der umdrehen effekt aus der tech demo.
währe aber schon besser wenn das im programm integriert währe

tichy
PaC-DK Newby
Posts: 11
Joined: 22 Aug 2009, 13:26

Post: # 74331Post tichy
23 Aug 2009, 12:17

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:

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)
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.

tichy
PaC-DK Newby
Posts: 11
Joined: 22 Aug 2009, 13:26

Post: # 74332Post tichy
23 Aug 2009, 12:20

Ja ne, hat sich erledigt. Ich habe es geschafft ;) :banana:

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)




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

Post: # 74334Post Zimond
23 Aug 2009, 12:30

moveobj(dummy1;103;500;0)
moveobj(dummy1;226;500;9)

Hinweis :

Der erste Moveobj Befehl würde hier vom zweiten überschrieben. Man muss mindestens ein wait (0,02) dazwischen setzen damit das SPiel Zeit hat das Objekt zu bewegen.

Post Reply