Sry, für den Thread-Titel, ich wusste nicht genau wie ich ihn nennen sollte...
Bei meinem aktuellen Projekt würde ich gerne folgendes realisieren:
Der Held benutzt ein Objekt(in meinem Fall ist es ein Roboter), das dann einen Weg im Raum abfahren soll(2mal quer durch den Raum). Danach soll es wieder an dem Punkt sein wo es am Anfang stand. Gleichzeitig soll man sich aber mit dem Spielercharakter bewegen können; Das ist nun aber ein Problem:
Wenn ich folgendes benutze:
move(x1,y1,eBlock);
move(x2,y2,eBlock);
move(x3,y3,eBlock);
Um das Objekt einen bestimmten Weg entlang zu bewegen kann ich gleichzeitig meinen Charakter ja nicht bewegen (wegen dem eBlock).
Wenn ich aber eNoBlock nehme, dann funktioniert das mit den mehreren move befehlen hintereinander nicht mehr..
Als Animation kann ich die bewegung auch nur sehr schwer machen, da das extrem viele einzelbilder benötigen würde, die bestimmt 5 loops füllen würden.
Kennt ihr irgendwelche Methoden um das zu realisieren?
Man müsste praktisch die move befehle sich blocken lassen, aber ohne das der Rest vom spiel geblockt wird..
danke für eure Hilfe,
KelThuzad
eBlock und eNoBlock gleichzeitig?
-
- Frischling
- Beiträge: 8
- Registriert: 04.03.2006, 15:11
- Kontaktdaten:
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
character control module von strazer ->
http://www.bigbluecup.com/yabb/index.php?topic=24489.0
http://www.bigbluecup.com/yabb/index.php?topic=24489.0
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Ohne module geht das so:
Roboter benutzen -> state=1;
Code: Alles auswählen
// room script
int state=0;
// room repeatedly execute
int x;
int y;
if (state>0 && state<4 && cRobot.Moving==false) {
if (state==1) { x=x1; y=y1; }
if (state==2) { x=x2; y=y2; }
if (state==3) { x=x3; y=y3; }
state++;
cRobot.Move(x, y, speed, eNoBlock, eAnyWhere);
}
-
- Komplettlösungsnutzer
- Beiträge: 35
- Registriert: 17.06.2005, 14:22
Geht das nicht auch einfach mit der Character.AddWaypoint-Funktion?
Ich weiss aber nicht ob diese Funktion auch den eNoBlock-Parameter übernimmt. Einfach mal ausprobieren.
Code: Alles auswählen
cRoboter.Walk(x1, y1, eNoBlock);
cRoboter.AddWaypoint(x2, y2);
cRoboter.AddWaypoint(x3, y3);
-
- Frischling
- Beiträge: 8
- Registriert: 04.03.2006, 15:11
- Kontaktdaten:
Hey, danke für die vielen Antworten..
Ich habe jetzt meinen Droiden einfach in einen Character (vorher wars ein Object) umgewandelt, und strazers Methode genommen, das ging am einfachsten, und hat funktioniert.
Ein Hinweis aber noch, an alle die das vllt auch benutzen wollen:
mit dem Addwaypoint(x,y) Befehl ignoriert AGS alle Walkable Areas, das aber nur als kleiner Hinweis.
Ich habe jetzt meinen Droiden einfach in einen Character (vorher wars ein Object) umgewandelt, und strazers Methode genommen, das ging am einfachsten, und hat funktioniert.
Ein Hinweis aber noch, an alle die das vllt auch benutzen wollen:
mit dem Addwaypoint(x,y) Befehl ignoriert AGS alle Walkable Areas, das aber nur als kleiner Hinweis.