Character will nicht loslaufen

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
DernetteEddy
Süßwasserpirat
Süßwasserpirat
Beiträge: 298
Registriert: 30.06.2004, 00:31

Character will nicht loslaufen

Beitrag von DernetteEddy »

Hi,

ich komm bei folgendem Problem einfach nicht weiter, hab shon alles probiert:

Mein Character soll im zweiten Raum meines Intro loslaufen von links nach rechts:
Script Room1: // Ich habe hier "hide Character" angekreuzt. EGO startet in Raum 1

before fadein

StartCutscene(1);
PlayMusic(2);
GUIOff(0);
ChangeCursorGraphic(1,62); // unsichtbarer Cursor

after fadein
Wait(400);
NewRoomEx(4,69,190); // Der Raum in dem der Character loslaufen soll

Script Room 4

After fadein

MovecharacterBlocking(EGO,967,183,0); // für den Weg habe ich extra eine walkable area gemacht die er laufen soll wie bei Indiana Jones wenn der verreist. EGO steht AUF JEDEN FALL auf dieser Fläche
SetObjectView(1,6);
AnimateObject (1,0,10,0); //Credit 1 wird animiert
ObjectOn(0); // Credit 0 taucht auf
Wait(500);
ObjectOff(0); // Credit 0 verschwindet
NewRoomEx(2,239,7);

So und in Room 2 endet dann die Cutscene, was auch alles klappt.

Ich möchte ja, dass meine Figur losläuft. Tut sie aber nicht. Man sieht sie nur da stehen und nicht bewegen. Wenn ich jedoch den Wert "direct" bei MovecharacterBlocking auf 1 änder läuft er los. Jedoch beachtet er ja dann nicht die walkable Area was ich ja will.
Als notlösung hab ich jetzt 20 MovecharacterBlocking befehle. Aber das kann doch nicht richtig sein.
Hat das was mit der Cutscene zu tun?
Ich hab schon alles ausprobiert und komm einfach nicht drauf.
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

Ich tippe mal darauf, dass es ein Problem mit der Walkable Area gibt:
a) Character steht nicht drauf (trifft wohl nicht zu)
b) Walkable Area ist ausgeschaltet (mit RemoveWalkableArea)
c) Zielpunkt liegt außerhalb der Walkable Area
d) eine Lücke in der Walkable Area, so dass der Pathfinder keinen Weg berechnen kann.
e) bei einem schmalen Weg (wenige Pixel) kann Pathfinder oft keinen Weg berechnen
f) auf einem schmalen Weg steht ein NPC und die Option, dass Character einander nicht durchdringen, ist eingeschaltet. Dann blockiert der NPC den Weg zum Ziel.

hmmm.... was könnte es sonst noch sein?
Wenn alles nichts hilft, dann schick mir das Spiel zum Testen.
Benutzeravatar
DernetteEddy
Süßwasserpirat
Süßwasserpirat
Beiträge: 298
Registriert: 30.06.2004, 00:31

Beitrag von DernetteEddy »

Hast recht gehabt mit dem schmalen Weg. Hatte nur den Anfang und Endbereich ausprobiert in dem ich die riesig groß gemacht hatte. Deswegen war ich ja auch so überzeugt gewesen, dass der auf jeden Fall auf der Walkable Area steht.
Naja jetzt hab ich das schon 10 neu gemacht und den Weg immer größer gezeichnet. Funtioniert jetzt auch, ist allerdings so groß, dass dieses Zick zack laufen nicht mehr wirkt.
Die Hälfte meines Hintergrundes (1020 X 200 Pixel) ist nämlich durch den Horizont verbraucht, auf dem der Character ja bekanntermaßen nicht laufen sollte. Der Rest der übrig bleibt ist Wüstenlandschaft, und durch diesen Effekt wollte ich unter anderem dieses Dünen hoch und runter laufen gut animieren. Sonst sieht es ja so aus als ob der stumpf geradeaus durch alles durchläuft.
Werde wohl bei meiner Methode bleiben mit dem direct Befehl und den 20 einzelnen Befehlen.
Oder weißt Du noch eine andere Lösung?
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

Wenn ich das richtig verstehe, dann handelt es sich hier um eine Cutscene. Der Spieler steuert also den PC nicht durch die Landschaft, vielmehr läuft der PC automatisch.

Da du die 20 direct-Befehle schon eingegeben hast, lohnt sich der Aufwand nicht, das noch zu verändern.

Ansonsten:
Pathfinder berechnet ja den kürzesten Weg zum Zielpunkt. Der PC wird also bei einem Zick-Zack-Weg immer vom Innenrand der einen Kurve zum Innenrand der nächsten Kurve laufen, egal wie breit der Weg nach außen ist. Also den Zielweg als Linie in der Walkable Area Maske einzeichnen, und dann den Weg jeweils zum Außenbereich verbreitern. Der PC läuft dann zwischen 2 Kurven quer über den Weg von einer Seite zur anderen.
Antworten