2017-02-28 2 views
-1

Ich habe versucht, eine Kollision mit meinem Player und meiner Karte zu machen, aber er funktioniert nicht Mein Code: http://pastebin.com/yWRuQkErDie Kollision mit TiledSharp funktioniert nicht

Es ist ein Bild des Fehlers: the image.

Ich bin Französisch und VS übersetzen nicht alle Nachrichten.

The Key its absent of the dictionnary.

+0

Zeigen Sie einfach den entsprechenden Code an. Sie erhalten den Fehler wo? Und was ist der Fehler? Google macht gute Arbeit bei der Übersetzung von Fehlermeldungen, übrigens. – waka

+0

Sie haben den Fehler in dem Bild und der Code ist _map.ObjectGroups ["Collision"]. Objekte befindet sich in der foreach bei Zeile 79 –

Antwort

0

Ich verwende jetzt TiledSharp für eine ziemlich lange Zeit. Dieser Fehler tritt normalerweise auf, wenn Ihre erstellte Karte keine solche Objektgruppe enthält.

Überprüfen Sie Ihre .TMX-Datei, wenn die Objektgruppe tatsächlich vorhanden ist. es sieht wie folgt aus:

<objectgroup name="Obstacles"> 
    <object id="1" x="35" y="39" width="24" height="20"/> 
</objectgroup> 

der Code für diese so (in meinem Fall) aussieht:

foreach (var o in curMap.ObjectGroups["Obstacles"].Objects) 
    collisionObjects.Add(new Rectangle((int)o.X, (int)o.Y, (int)o.Width, (int)o.Height)); 

Beachten Sie, dass der Name Groß- und Kleinschreibung. Objektgruppen befinden sich normalerweise am Ende der .tmx-Datei

Verwandte Themen