2015-01-15 2 views
-1

기본적으로 파일에서로드 할 STRING에서 컴파일 할 수있는 코드를 만들고 싶습니다. 그게 가능합니까? 나는 연구를했는데 답을 찾을 수 없었다.문자열을 컴파일하는 방법 xna

+0

당신은 당신이 주된 목표와 당신이 진정으로 이루고자 노력하는 것을 좀 더 자세하게 설명 할 수 있습니까 – MethodMan

+0

당신은'System.CodeDom.Compiler'를 검색 할 수 있습니다 – EZI

+0

나는 싸우는 게임을 만들고 있는데 클래스들이 있습니다 : 플레이어, 캐릭터, 이동. 따라서 캐릭터는 약간의 움직임을 가지게되며, 그 움직임은 Player 클래스에서 체크됩니다. 그 아이디어에서, 어떤 캐릭터들은 점프, 돌진, 치기, 이동, 그리고 모든 것을 다른 시간에 다른 속도로 움직일 것입니다. 그래서 모든 캐릭터가 왜 움직이지 않을까요? 내 게임 코드가 너무 길어서 모든 단일 문자를 쓸 수 없으므로 필자는 필요한 모든 "이동"코드를 파일에 넣고로드하려고합니다. – Monset

답변

0

당신의 후속 코멘트를 읽는다면, 당신이 찾고있는 것이 C# 코드를 동적으로 컴파일하는 것이 아니라 스크립팅 언어가 될 것 같아 보입니다. 스크립팅 언어를 사용하면 코드를 문자열로 전달하고 실행할 수 있으며 현재 실행중인 코드를 묶을 수 있습니다. 예를 들어, 캐릭터의 현재 상태를 스크립팅 언어로 전달한 다음 캐릭터의 현재 상태 (죽은 면역력 등)를 읽을 수 있습니다. 게임에서 스크립팅을 할 때 가장 많이 사용되는 두 언어는 LuaPython입니다. 이 두 언어 모두 .NET 라이브러리/바인딩을 사용하여 C# 내에서 사용할 수 있습니다.

루아와 함께 C#에서 내 자신의 프로젝트를 설정 한 이래로 약간의 시간이 걸렸지 만 this tutorial은 내가 사용했던 것과 매우 비슷하게 보입니다. 따라서 내 질문에 어떻게 대답했는지 (즉, 밀접하게 묶어 라.) 그러나 Google에서 "lua C# binding"또는 "python .NET binding"을 검색하면 라이브러리 및 자습서가 많이 제공됩니다. 궁극적으로 궁극적으로 결정하는 언어는 두 언어 중 어느 언어로 내려 갔을 까? (다른 많은 스크립팅 언어도 있어야하지만) 사용하는 것이 더 편하다고 느낍니다.

위와 같이 EZI가 말한 것처럼 가능하면 동적으로 C# 코드를 컴파일 할 수 있습니다. 하지만 귀하의 질문에, 당신은 대신 스크립팅 언어를 찾는 것 같아요.

+0

감사와 충고에 감사드립니다. 나는 이것이 내가 찾고있는 것이라고 생각한다. 나는이 튜토리얼을 보게 될 것이고, 이것으로부터, 초보자, 관점,이 프로젝트는 내 프로젝트에서 유용 할 것이라고 생각한다. 감사합니다 알렉 :) – Monset