4
XNA에 자체 게임 엔진을 작성하고 Android/iOS/Windows 8에 넣을 수 있도록 MonoGame에이 엔진을 포팅하기 시작했습니다. 메인이 새로운 게임 객체를 생성 할 때 참조 예외. 그래서 객체를 할당하는 코드는 다음과 같습니다상속 클래스의 인스턴스를 생성 할 때 NullReferenceException을 발생합니다.
static void Main(string[] args)
{
//game g = new game();
using (game game = new game())
{
game.Run();
}
}
게임 객체의 기본 생성자 인
public lesaEngine()
로 오류입니다.
상속은 항상 여기에 무슨 무슨
class lesaEngine : Microsoft.Xna.Framework.Game
class game : lesaEngine
확실하지입니다. 정상적인 XNA에서는 정상적으로 작동합니다. 포트에 Visual Studio 2012를 사용하고 있습니다.
과 같아야 경우 NRE는'game.Run()'호출에 발생, 또는이'새로운 게임()'표현에서 호출 된 생성자에 의해 발생되고있다? 'lesaEngine()'생성자에서 에러가 발생하면, 그 생성자의 바디를 게시 할 수 있습니까? – phoog
@phoog가 말한 것에 덧붙여 생성자는 상속되지 않으므로 게임 생성자는 필요할 경우 lesaEngine 생성자를 호출해야합니다. –
@ChrisDunaway 파생 클래스의 생성자가 명시 적으로 다른 생성자를 호출하지 않으면 암시 적으로 기본 클래스의 기본 생성자를 호출합니다. 기본 클래스에 기본 생성자가 없거나 액세스 할 수없는 경우 코드가 컴파일되지 않습니다. – phoog