2014-09-24 2 views
0

저는 Windows Phone 8에 게임을 이식하는 중입니다. VS는 XAML 및 기타 기본 (Windows Phone 8, 8.1), 성공적으로 네이티브 예제로 작업하면 게임은 정상적으로 실행되지만 XAML을 사용해야합니다. 대부분 코드에 기반하므로 XAML로 프로젝트 D3D를 만들고 메인을 연결하지 않고 정적 라이브러리 예를 잘 실행, 나는 회전 큐브를 볼 수 있지만 라이브러리를 연결하면 응용 프로그램이 붙어 얻을, 난 단지 검은 화면이 나타납니다. Windows Phone 8 : 라이브러리를 연결할 때 Direct3DBackground를 만들 때만 움직입니다.

m_d3dBackground = new Direct3DBackground(); 

내가 아무 일도 발생하지 않습니다, 거기 박히 방법에 입력 F11을 누르고 난 정말 모르겠어요 마지막 호출임을 내가 찾은 C# 코드에 단계적으로 디버깅

어떻게 될 수 있을까요, 그냥 연결하고 이것이 실패합니까? 네이티브 솔루션이 효과가 있었던 이유는 무엇입니까?

누구나 단서가 있습니까?

정적 라이브러리에서 사용하는 유일한 것은 extern을 사용하는 일부 전역 변수입니다.

편집 : 옵션 제거 다음 C# 프로젝트에 코드를 최적화하고 지금은 코드의 같은 라인에서 예외를 trhows를, 그것은 말한다 :

유형 'System.BadImageFormatException'의 예외가 발생 생성자는 초기화 메소드를 호출에

게임 코드하는 표준 : : 스레드를 사용하는 시간의 수업이 있습니다 PhoneDirect3DXamlAppInterop.DLL하지만이 잘 나는이 문제를 해결

답변

0

사용자 코드에서 처리되지 않았습니다 스레드, 문제는 누군가가 Time 클래스의 정적 전역 변수를 선언하는 것이 좋을 것이라고 생각했기 때문에 애플리케이션이 항상 생성자에 걸렸습니다.

이것은 다른 프로젝트에서 발생하기 전에 정적 라이브러리를 사용하여 전역 변수의 생성자에서 함수를 호출하는 것은 결코 좋은 생각이 아닙니다.