Windows Phone 용 C# 및 XNA에 문제가 있습니다. XNA의 Game1 클래스 안에있는 Item이라는 클래스를 만들었습니다. 내가 겪고있는 문제는 내가 그 (것)들에 변화를 줄 수없는 품목 전부를 창조하고 난 후에, 그것은 과실을 던지지 않으며 또한 변화가 효력을 나타내지 않는다이다. 그래서 코드는 이런 식입니다 : 변수를 변경할 수 없습니다 왜 내가 또한 클래스 내부 접근 방법을 통해이 일을 시도 한 이해가 안클래스의 멤버를 변경할 수 없습니다.
public class Game1 : Microsoft.Xna.Framework.Game {
Item Loading;
Item[] Stuff = new Item[2];
public class Item {
public bool visible = true;
}
protected override void LoadContent() {
Loading = new Item();
Stuff[1] = new Item();
}
protected override void Update(GameTime gameTime) {
Loading.visible = false;
System.Diagnostics.Debug.WriteLine(Loading.visible); //prints true
Stuff[1].visible = false;
System.Diagnostics.Debug.WriteLine(Stuff[1].visible); //prints false
}
}
. 나는 기본적으로 Item 배열을 위해 코드를 복제했다. 그래서 나는 완전히 엉망이되었다.
'Item' 클래스에 접근 자 메소드를 표시 할 수 있습니까? – paul
"변수"는 무엇을 의미합니까? OOP에서 우리는 "변수"라는 용어를 피하고 클래스에 속한 것을 참조하는 "멤버"라고하며 일부 Memebr 유형은 메서드 (함수) 및 속성입니다. 기본적으로 멤버는 클래스에 대해 비공개이므로 Yo는 클래스 외부의 "로드 중"및 "항목"에 액세스 할 수 없습니다. Loading 및 Stuff에서 값을 가져 오려면 공개 (잘못된 접근) 또는 공개 (읽기 전용 일 수 있음) 속성 (접근 자일 수 있음)을 멤버에게 선언해야합니다. –
@ Y.Ecarri'Update' 메소드는'Game1' 클래스의 일부이므로 private 멤버 인'Loading'과'Stuff []'에 접근 할 수 있습니다. 그것은 여기서 문제가되지 않습니다. –