Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Thema gestartet von: Edison Interactive am 03. August 2008, 18:14:25
-
Die Hilfe gibt leider nicht genug her, wie funktionieren diese Befehle?
if(Character.GetAtScreenXY(GetViewportX() + pos_x1, GetViewportY() + pos_y1) == null) {
(bzw. mit GetCharacterAT(x,y) )
Die Abfrage stimmt zumindest immer, egal ob dort wer ist oder nicht. Wieso? Hab auch mal ein paar Koordinaten addiert ( x Wert plus 10, y Wert - 20), um auszuschließen, dass er transparente Flächen nicht als Charakter zählt, bringt aber auch nix...
-
Schau mal, ob die Abfrage funktioniert, wenn ein Charakter genau auf den zu prüfenden Koordinaten steht.
-
wie bereits oben gesagt, die Abfrage ist immer wahr (egal ob jemand auf den Koordinaten steht oder nicht).
-
http://www.americangirlscouts.org/agswiki/Character_functions_and_properties#Character.GetAtScreenXY
ist ein häckchen gesetzt bei "no interaction"?
dann wird er nicht gesehen.
habt ihr testweise mal den character genau auf die koordinaten gestellt und dann die abfrage versucht?
dann müsste sie "unwahr" sein.
mit getviewport ist das aber sicher eine äusserst schwammige sache,
kann mir jetzt nur schwer vorstellen, wie man damit was sinnvolles abfragen will.
-
Habens! Waren zwei Dinge:
1. Der Viewport: er fragt ja nach Screen-Koordinaten, also muss der Viewport abgezogen werden.
2. Haben wahrscheinlich beid er Abfrage immer zwischen die Beine getroffen. Steht ein Char genau auf den Koordinaten, so befindet sich der transparente Zwischenraum zwischen seinen Beinen dort und deshalb ist dort kein Char.