Ich habe ein Spielprojekt, das auf Cocos2D XNA und MonoGame basiert. Ich wollte der CCSprite-Klasse ein wenig benutzerdefinierte Logik hinzufügen, also habe ich eine Klasse erstellt, die von CCSprite erbt. Ich habe eine Dummy-Auto-Eigenschaft hinzugefügt und versucht, diese Klasse zu verwenden, aber aus irgendeinem Grund werden Sprites, die als Instanzen meiner benutzerdefinierten Sprite-Klasse erstellt werden, nicht auf der Ebene angezeigt, während Sprites, die Instanzen der CCSprite-Klasse sind, vollständig OK sind.cocos2d-xna: sprite wird nicht gezeichnet, wenn die Instanz einer Klasse verwendet wird, die von Sprite geerbt wurde
-Code sieht wie folgt aus:
public class Sprite: CCSprite {
public string SomeProp {get; set;}
}
...
line1: var mySprite1 = new Sprite("texture.png");
line2: var mySprite1 = new CCSprite("texture.png");
AddChild(mySprite1);
Wenn ich line1 verwenden und kommentieren Sie Zeile 2, dann mySprite 1 nicht dargestellt ist. Ansonsten - wenn mySprite eine Instanz von CCSprite ist - funktioniert es gut.
Was könnte die Ursache für dieses Problem sein?
Bitte veröffentlichen Sie Ihre Sprite-Klassenimplementierungsdatei. – SaffronState
Dank Ihres Kommentars habe ich herausgefunden, dass die AnchorPoint-Eigenschaft außer Kraft gesetzt wird, wodurch ein Sprite-Rendering außerhalb des Bildschirms erfolgt. =) – DarkDeny