 | | | |
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 ?
|
|
|
|  |  | | | |
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!!! |
|
|
|  |  | | | |
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 ]; |
|
|
|  |  | | | |
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
|
|
|
|  |  | | | |
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!!! |
|
|
|
|  |