Warsztat - Programowanie gier

Lipiec 30, 2010, 17:32:35 *
Witamy, Gość. Zaloguj się, lub zarejestruj proszę.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Warsztat, Regulamin forum, #warsztat, Wiki, FAQ, NoPaste, Mapa
 
   Strona główna   Pomoc Szukaj Zaloguj się Rejestracja  
Strony: [1]
  Drukuj  
Autor Wątek: XNA Błąd przy wypełnianiu pól obiektu  (Przeczytany 563 razy)
giersz2
Newbie
*

wiadomości: 9


Zobacz profil
« : Sierpień 15, 2009, 19:02:25 »

Najpierw zdefiniowałem klasy:
Kod:
enum enWarstwa1
    { pusty, drzewo1, drzewo2, drzewo3 }
    enum enPowieszchnia
    { pusty, trawa, woda, pustynia }
    enum enPotwor
    { pusty, wilk }
    public class clsPowieszchnia
    {
        public enPowieszchnia enPow; //linia 29
        public bool ruch;
        public string nazwa;
    }
    public class clsWarstwa1
    {
        public enWarstwa1 enWar; //linia 35
        string nazwa;
    }
    public class clsPotwor
    {
        public enPotwor enPot; //linia 40
        string nazwa;
    }
    public class clsPole
    {
        public clsPowieszchnia powieszchnia;
        public clsWarstwa1 warstwa1;
        public clsPotwor potwor;
        public clsPole()
        {
        }
    }
W definicji klasy Game1 stworzyłem obiekty:
Kod:
public class Game1 : Microsoft.Xna.Framework.Game
    {
       
        GraphicsDeviceManager graphics;
        SpriteBatch spriteBatch;

        clsPowieszchnia traw = new clsPowieszchnia();
        traw.enPow = enPowieszchnia.trawa; //linia 66
        traw.ruch = true; //linia 67
    ...
Pojawiły się błędy:
Error   1   Invalid token '=' in class, struct, or interface member declaration   d:\Visual Studio 2008\Projects\ots gra\ots gra\Game1.cs   66   20   ots gra
Error   2   Invalid token ';' in class, struct, or interface member declaration   d:\Visual Studio 2008\Projects\ots gra\ots gra\Game1.cs   66   42   ots gra
Error   3   Invalid token '=' in class, struct, or interface member declaration   d:\Visual Studio 2008\Projects\ots gra\ots gra\Game1.cs   67   19   ots gra

Co jest powodem pojawiania się tych błędów?

edit:
Kolejne błędy pojawiły się gdy skasowałem linie 66  i 67 (poprzednie znikły oczywiście):

Error   1   Inconsistent accessibility: field type 'ots_gra.enPowieszchnia' is less accessible than field 'ots_gra.clsPowieszchnia.enPow'   d:\Visual Studio 2008\Projects\ots gra\ots gra\Game1.cs   29   31   ots gra

Error   2   Inconsistent accessibility: field type 'ots_gra.enWarstwa1' is less accessible than field 'ots_gra.clsWarstwa1.enWar'   d:\Visual Studio 2008\Projects\ots gra\ots gra\Game1.cs   35   27   ots gra

Error   3   Inconsistent accessibility: field type 'ots_gra.enPotwor' is less accessible than field 'ots_gra.clsPotwor.enPot'   d:\Visual Studio 2008\Projects\ots gra\ots gra\Game1.cs   40   25   ots gra

Co się dzieje? Przecież przecież stworzyłem normalne pola typu wyliczeniowego  Huh
« Ostatnia zmiana: Sierpień 15, 2009, 19:10:46 wysłane przez giersz2 » Zapisane
Kos
Member2000
*******

wiadomości: 3383



Zobacz profil
« Odpowiedz #1 : Sierpień 15, 2009, 19:09:00 »

Nie, żebym znał się na C#, ale nie powinieneś wrzucić tych przypisań do konstruktora?
Zapisane

Eclipse!
giersz2
Newbie
*

wiadomości: 9


Zobacz profil
« Odpowiedz #2 : Sierpień 15, 2009, 19:14:53 »

Też niezbyt się znam, dopiero zaczynam. Przeniosłem do konstruktora i działa Grin. Ale nadal pojawiają się te kolejne błędy. Proszę o pomoc.
« Ostatnia zmiana: Sierpień 15, 2009, 20:59:23 wysłane przez giersz2 » Zapisane
Ciunkos
Full Member
***

wiadomości: 194



Zobacz profil WWW
« Odpowiedz #3 : Sierpień 15, 2009, 22:43:14 »

Kod
public enum enWarstwa1
   { pusty, drzewo1, drzewo2, drzewo3 }
public enum enPowieszchnia
   { pusty, trawa, woda, pustynia }
public enum enPotwor
   { pusty, wilk }
 
Pododawaj public przed enumami.
Jeśli nie dodasz to będą mogły one być tylko prywatnymi składowymi klas. Jeśli dasz słówko public, wszystko będzie tak jak planowałeś. Też niedawno miałem te błędy Wink
Zapisane

giersz2
Newbie
*

wiadomości: 9


Zobacz profil
« Odpowiedz #4 : Sierpień 15, 2009, 22:56:29 »

A, rozumiem. Poprawiłem i działa. Dzięki za pomoc  Wink
Zapisane
Strony: [1]
  Drukuj  
 
Skocz do:  

Hosting: Polska Strefa - Ogłoszenia
Powered by SMF 1.1.7 | SMF © 2006, Simple Machines LLC