2014-11-15 2 views
-2

안녕하세요, 내 클래스의 인수로 생성자를 전달하는 데 문제가 있습니다. 나는이 (Game1 클래스)처럼 인스턴스에 노력하고있어인수를 사용하여 생성자를 전달 하시겠습니까?

// Non-static variables exist once for each instance of the class 
    Vector2 position; 

    public Vector2 Position { get { return position; } } 
    public myClass(Vector2 position) 
    { 
     this.position = position; 
    } 

: 거기는

myClass myClassInstance; 

protected override void Initialize() 
{ 
    // TODO: Add your initialization logic here. 
    myClassInstance = new myClass(Position); 
    base.Initialize(); 
} 

하지만 Initialize()에서이 오류를 얻을 :

Error 1 The name 'Position' does not exist in the current context 
+1

난 당신이 여기에 뭘 하려는지 모르겠어요. 귀하의 초기화() 있음 거기에 당신에게 그 오류를주는 이유는 위치 변수라는 것 같지 않습니다. – Haedrian

+0

@Haedrian은 Game1 클래스에 있습니다. 나는이 코드를 위해이 대답을 사용했다. http://stackoverflow.com/a/11383467/3944196 – PowerUser

+0

정말 도움이 필요하다. – PowerUser

답변

2

귀하의 초기화 방법 범위에 선언 된 "Position"변수가 없습니다. 예를 들어, 당신은 이런 식으로 뭔가를 할 수 있습니다

myClass myClassInstance; 

protected override void Initialize() 
{ 
    // variables defined in a function are typically lower-case in C# 
    Vector2 position = new Vector2(0,0); 

    // I changed "Position" to "position" to match the variable 
    myClassInstance = new myClass(position); 
    base.Initialize(); 
} 

여기에 더 큰 문제는이 아마 처음이다대로 계속하기 전에 C 번호에 최대 - 투 - 속도가 점점 약간의 시간을 투자 할 필요가있을 수 있습니다 그러나 문법이 당신에게 이해가되지 않는다면 많은 문제가 발생할 것입니다. 여기에서 시작하는 좋은 비디오 시리즈입니다 :

https://www.youtube.com/playlist?list=PLMUNVW3VsMWUB9mPN10vU6jvc_jbHvs1g

관련 문제