2009-11-27 7 views
10

요즘에는 XNA C에서 다른 게임을 개발할 준비를하고 있습니다.C# XNA 용 자바 스크립트 (또는 이와 유사한) 게임 스크립트

마지막으로 XNA C#에서 게임을 할 때지도와 사용자 지정 가능한 데이터를 게임에 추가해야하는이 문제에 부딪혔습니다. 새로운 콘텐츠를 추가하거나 게임 캐릭터 또는 일부 값을 변경하고 싶을 때마다 게임 전체를 다시 작성해야합니다. 시간이 많이 걸릴 수 있습니다.

컴파일하지 않고도 내 XNA C# 게임에서 해석 할 수있는 콘텐츠를로드하는 게임 스크립트를 작성할 수있는 방법이 있습니까? 나는 자바 스크립트를 바라보고있다.

게임이나로드 데이터를 조작하기 위해 외부 게임 스크립트에서 호출 할 수있는 함수 및 기타 작은 API를 추가 할 수 있기를 바랍니다. 나는 게임이 해킹당하는 것에 대해 걱정하지 않는다. 아직 초기 단계이기 때문이다. 개발이 우선 순위 다.

도움을 주시면 감사하겠습니다.

+1

C#으로 작성된 오픈 소스 자바 스크립트 인터프리터 인 Jint을 시도 할 수 있습니다? 그것은 스크립트에 유용한 언어로 보인다. –

+0

루아를 확실히 보았습니다. =) – mauris

답변

5

당신은 루아 봤어

+0

이것은 매우 시원하고 쉬운 생각처럼 보입니다. 하지만 예를 들어 특정 C# 메서드를 실행하기 위해 호출 할 수있는 미리 정의 된 함수는 어떻게 정의 할 수 있습니까? – mauris

+0

아, 그래, Jint도 http://jint.codeplex.com/wikipage?title=Quick%20Start&referringTitle=Documentation – mauris

+0

에 작성된대로 지원한다고 생각한다. 오래된 질문이다.하지만 이것은 내가 최근에 한 일이다. 그것은 정말 잘 작동하고, 나는 심지어 일부 디버깅 기능을 만들 수있었습니다. 다음은 몇 가지 코드입니다 (ofc를 무료로 사용할 수 있음). http://roy-t.nl/index.php/2012/06/05/using-javascript-as-a-script-engine-in-xnac/ –

1

IronPython이 더 적절합니까? "전체"프레임 워크에서 잘 작동 할 것입니다. 그러나 컴팩트 프레임 워크를 사용하는 not work (yet) on xbox 360처럼 보입니다.

IronPython/xna 예제의 경우 see here입니다.

2

Compact Framework에는 System.Reflection.Emit이 없으므로 IronPython을 사용할 수 없습니다. 나는 LUA를 추천, 당신은 오픈 소스와의 XNA 인터프리터 구현을 찾을 수 있습니다 here

+0

잘 보입니다. 하지만 Visual C# 2008에서이 작업을 수행 할 수 없습니다.이 프로젝트는 매우 오래된 것으로 보입니다. – mauris

+0

컴파일에 지장을주지 않으려면 사전 컴파일 된 바이너리를 제공합니다. dll에 게임에 대한 참조 만 추가하면됩니다. – seraphym

관련 문제