Fórum Sharpgames
 
 
  Forum  Criação de Jogo...  Gráficos 2D/3D  problemas em array
Anterior Anterior
 
Próximo Próximo
Nova Entrada 27/11/2008 13:34
Resolvido
  linuxboy
20 tópicos
9th Level Poster


problemas em array 
bom eu tenho uma classe Game e uma classe clsSprite


e estou querendo usar cinco imagem para formar uma tela usando uma declaração do tipo

tela 1 = {0,2,1,1,1,1,4,
                 4,3,3,3,2,1}
e para criar o vetor  uso a seguinte instrução

clsSprite[  ] blocos = clsSprite[4];

mas apresenta o seguinte erro

Error    1    'arkanoidxna.clsSprite' is a 'type' but is used like a 'variable'    D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs    23    30   


abaixo deixo o código da classe clsSprite

class clsSprite
    {
        public Texture2D texture; // plano de fundo
        public Vector2 position; // posição do desenho
        public Vector2 size; // tamanho do desenho em pixels
        public Vector2 screenSize; // tamanho da tela
        public Vector2 velocity; // velocidade do movimento

        // controle de velocidade do objeto

        public void Move()
        {
            // if we'll move out of the screen, invert velocity
            // checking right boundary
            if (position.X + size.X + velocity.X > screenSize.X)
                velocity.X = -velocity.X;
            // checking bottom boundary
            if (position.Y + size.Y + velocity.Y > screenSize.Y)
                velocity.Y = -velocity.Y;
            // checking left boundary
            if (position.X + velocity.X < 0)
                velocity.X = -velocity.X;
            // checking bottom boundary
            if (position.Y + velocity.Y < 0)
                velocity.Y = -velocity.Y;
            // since we adjusted the velocity, just add it to the current position
            position += velocity;
        }

        public clsSprite(Texture2D newTexture, Vector2 newPosition, Vector2 newSize, int ScreenWidth, int ScreenHeight)
        {
            texture = newTexture;
            position = newPosition;
            size = newSize;
 
            screenSize = new Vector2(ScreenWidth, ScreenHeight);
        }
    }



como eu posso converter minha classe para funcionar em conjunto com o array que criei ?

 
Nova Entrada 27/11/2008 15:51
  joqus
57 tópicos
6th Level Poster




Re: problemas em array 
para o vetor vc tem que
clsSprite[  ] blocos =  NEW clsSprite[4];

quanto a converter sua classe eu naum endenti o que vc
quis dizer!

as coisas acontecem de um jeito próprio a cada iteração, por mais identicas q pareçam!!!
 
Nova Entrada 27/11/2008 16:35
  linuxboy
20 tópicos
9th Level Poster


Re: problemas em array 
Modificado Por linuxboy  em 27/11/2008 14:37:53)
jogus era exatamente o que eu queria fazer... não tinha reparado no new, antes de olhar se tinha resposta aqui no topico me toquei e resolvi mas mesmo assim obrigado !
essa parte de converter a classe foi "VIAGEM" minha .... vlw !

entedi o seguinte com isso
se eu quero X itens iguais de uma classe
faço o seguinte

classe [vetor nulo ] = new classe [ quantidade de itens ];
 
Nova Entrada 28/11/2008 16:14
  linuxboy
20 tópicos
9th Level Poster


Re: problemas em array 

continuo com problemas nos arrays mas sao em outros

[] tela = new int[10]; clsSprite[,] mapa = new clsSprite[10, 6];

int

 

tela[0] = mapa [   blocos[0], blocos[2], blocos [1], blocos[3], blocos[5], blocos[4],

blocos[5], blocos[3], blocos [2], blocos[3], blocos[5], blocos[1],

blocos[0], blocos[2], blocos [0], blocos[3], blocos[0], blocos[4],

blocos[4], blocos[2], blocos [2], blocos[3], blocos[0], blocos[0],

blocos[0], blocos[0], blocos [0], blocos[3], blocos[5], blocos[0],

blocos[5], blocos[3], blocos [3], blocos[5], blocos[5], blocos[4]    ];


apresenta esses erros aki


Error 1 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 108 29 arkanoidxna
Error 2 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 108 40 arkanoidxna
Error 3 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 108 51 arkanoidxna
Error 4 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 108 63 arkanoidxna
Error 5 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 108 74 arkanoidxna
Error 6 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 108 85 arkanoidxna
Error 7 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 109 29 arkanoidxna
Error 8 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 109 40 arkanoidxna
Error 9 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 109 51 arkanoidxna
Error 10 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 109 63 arkanoidxna
Error 11 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 109 74 arkanoidxna
Error 12 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 109 85 arkanoidxna
Error 13 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 110 29 arkanoidxna
Error 14 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 110 40 arkanoidxna
Error 15 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 110 51 arkanoidxna
Error 16 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 110 63 arkanoidxna
Error 17 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 110 74 arkanoidxna
Error 18 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 110 85 arkanoidxna
Error 19 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 111 29 arkanoidxna
Error 20 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 111 40 arkanoidxna
Error 21 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 111 51 arkanoidxna
Error 22 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 111 63 arkanoidxna
Error 23 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 111 74 arkanoidxna
Error 24 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 111 85 arkanoidxna
Error 25 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 112 29 arkanoidxna
Error 26 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 112 40 arkanoidxna
Error 27 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 112 51 arkanoidxna
Error 28 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 112 63 arkanoidxna
Error 29 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 112 74 arkanoidxna
Error 30 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 112 85 arkanoidxna
Error 31 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 113 29 arkanoidxna
Error 32 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 113 40 arkanoidxna
Error 33 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 113 51 arkanoidxna
Error 34 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 113 63 arkanoidxna
Error 35 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 113 74 arkanoidxna
Error 36 Cannot implicitly convert type 'arkanoidxna.clsSprite' to 'int' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 113 85 arkanoidxna
Error 37 Wrong number of indices inside []; expected '2' D:\Programação\XNA-C#\arkanoidxna\arkanoidxna\Game1.cs 108 23 arkanoidxna



 
Nova Entrada 28/11/2008 17:43
  joqus
57 tópicos
6th Level Poster




Re: problemas em array 
O problema eh q o seu array "blocos"
eh do tipo clsSprite,
como vc declarou:
cslSprite[] blocos = new clsSprite[4];

consequentemente seu array mapa,
recebe os blocos e tbm eh um array
de cslSprite[], vc está tentando
atribuir esse array para um array de
inteiros, como vc declarou:

 int tela[] = new int[10];

entaum o C# está tentando converter
do tipo cslSprite para int
ocasionando um erro!!!

ao invés do array "tela" ser de int
ele deveria ser de cslSprite!!!

as coisas acontecem de um jeito próprio a cada iteração, por mais identicas q pareçam!!!
 
Anterior Anterior
 
Próximo Próximo
  Forum  Criação de Jogo...  Gráficos 2D/3D  problemas em array
Logos do XBox 360, XNA e Games For Windows
Copyright 2006-2012 por SharpgamesPolítica de Privacidade  |  Termos de Uso