Dar*_*eny 12 c# xna cocos2d-x-for-xna
我有一个基于Cocos2D XNA和MonoGame的游戏项目.我想在CCSprite类中添加一些自定义逻辑,因此我创建了一个继承自CCSprite的类.我添加了一个虚拟自动属性并尝试使用此类,但由于某些原因,创建的精灵作为我的自定义精灵类的实例未显示在图层上,而精灵是CCSprite类的实例 - 完全没问题.
代码如下所示:
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);
Run Code Online (Sandbox Code Playgroud)
如果我使用line1并注释掉第2行,则不会显示mySprite 1.否则 - 如果mySprite是CCSprite的一个实例 - 它运行良好.
可能是这个问题的根源是什么?
小智 4
您没有使用自己的 Sprite 类调用 CCsprite 的构造函数。
Sprite:CCSprite{
public Sprite():base()
{
//blabla
}
}
Run Code Online (Sandbox Code Playgroud)
如果您想传递参数,则 base() 正在调用您继承的类的 CCSprite 的构造函数,然后执行以下操作:
Sprite:CCSprite{
public Sprite(string imgpath):base(imgpath)
{
//blabla
}
}
Run Code Online (Sandbox Code Playgroud)
现在我已经通过构造函数传递了一个字符串。