private void Limitações() { // Previni erros if (lstLista.SelectedIndex > 0) { Objetos.scrlImagemX.Maximum = 0; Objetos.scrlImagemY.Maximum = 0; } // Dados Size Tamanho = Gráficos.TTamanho(Imagem[lstLista.SelectedIndex]); int Largura = Tamanho.Width - Objetos.picImagem.Width; int Altura = Tamanho.Height - Objetos.picImagem.Height; // Verifica se nada passou do limite minímo if (Largura < 0) { Largura = 0; } if (Altura < 0) { Altura = 0; } // Define os limites Objetos.scrlImagemX.Maximum = Largura; Objetos.scrlImagemY.Maximum = Altura; }
public static void Azulejo(byte Índice) { Size Textura_Tamanho = Gráficos.TTamanho(Gráficos.Tex_Azulejo[Índice]); Size Tamanho = new Size(Textura_Tamanho.Width / Globais.Grade - 1, Textura_Tamanho.Height / Globais.Grade - 1); // Redimensiona os valores Listas.Azulejo[Índice].Azulejo = new Listas.Estruturas.Azulejos_Azulejo_Dados[Tamanho.Width + 1, Tamanho.Height + 1]; for (byte x = 0; x <= Tamanho.Width; x++) { for (byte y = 0; y <= Tamanho.Height; y++) { Listas.Azulejo[Índice].Azulejo[x, y].Bloqueio = new bool[(byte)Globais.Direções.Quantidade]; } } }
public static void Azulejo(byte Índice) { FileInfo Arquivo = new FileInfo(Diretórios.Azulejos_Dados.FullName + Índice + Diretórios.Formato); Size Textura_Tamanho = Gráficos.TTamanho(Gráficos.Tex_Azulejo[Índice]); Size Tamanho = new Size(Textura_Tamanho.Width / Globais.Grade - 1, Textura_Tamanho.Height / Globais.Grade - 1); // Cria o arquivo caso ele não existir if (!Arquivo.Exists) { Escrever.Azulejo(Índice); return; } // Cria um sistema binário para a manipulação dos dados BinaryReader Binário = new BinaryReader(Arquivo.OpenRead()); // Dados básicos Listas.Azulejo[Índice].Largura = Binário.ReadByte(); Listas.Azulejo[Índice].Altura = Binário.ReadByte(); // Previni erros (Foi trocado de azulejo) if (Tamanho != new Size(Listas.Azulejo[Índice].Largura, Listas.Azulejo[Índice].Altura)) { Binário.Dispose(); Limpar.Azulejo(Índice); Escrever.Azulejo(Índice); return; } for (byte x = 0; x <= Tamanho.Width; x++) { for (byte y = 0; y <= Tamanho.Height; y++) { // Atributos Listas.Azulejo[Índice].Azulejo[x, y].Atributo = Binário.ReadByte(); // Bloqueio direcional for (byte i = 0; i <= (byte)Globais.Direções.Quantidade - 1; i++) { Listas.Azulejo[Índice].Azulejo[x, y].Bloqueio[i] = Binário.ReadBoolean(); } } } // Fecha o sistema Binário.Dispose(); }
public static void Principal() { int Contagem = 0; int Contagem_1000 = 0; short FPS = 0; while (Program.Funcionado) { Contagem = Environment.TickCount; // Eventos Editor_Mapas_Fumaça(); Editor_Mapas_Clima(); Editor_Mapas_Música(); // Desenha os gráficos Gráficos.Apresentar(); // Faz com que a aplicação se mantenha estável Application.DoEvents(); while (Environment.TickCount < Contagem + 10) { System.Threading.Thread.Sleep(1); } // FPS if (Contagem_1000 < Environment.TickCount) { // Cálcula o FPS Globais.FPS = FPS; FPS = 0; // Reinicia a contagem Contagem_1000 = Environment.TickCount + 1000; } else { FPS += 1; } } // Fecha a aplicação Program.Sair(); }
private static void Azulejo_Limitações() { int x = Gráficos.TTamanho(Gráficos.Tex_Azulejo[Objetos.scrlAzulejo.Value]).Width / Globais.Grade - Objetos.picAzulejo.Width / Globais.Grade; int y = Gráficos.TTamanho(Gráficos.Tex_Azulejo[Objetos.scrlAzulejo.Value]).Height / Globais.Grade - Objetos.picAzulejo.Height / Globais.Grade; // Verifica se nada passou do limite minímo if (x < 0) { x = 0; } if (y < 0) { y = 0; } // Define os limites Objetos.scrlAzulejoX.Maximum = x; Objetos.scrlAzulejoY.Maximum = y; }
private static void Editor_Mapas_Fumaça_X() { Size Tamanho = Gráficos.TTamanho(Gráficos.Tex_Fumaça[Listas.Mapa[Editor_Mapas.Selecionado].Fumaça.Textura]); int VelocidadeX = Listas.Mapa[Editor_Mapas.Selecionado].Fumaça.VelocidadeX; // Apenas se necessário if (FumaçaX_Tempo >= Environment.TickCount) { return; } if (VelocidadeX == 0) { return; } // Movimento para trás if (VelocidadeX < 0) { Globais.Fumaça_X -= 1; if (Globais.Fumaça_X < -Tamanho.Width) { Globais.Fumaça_X = 0; } } // Movimento para frente else { Globais.Fumaça_X += 1; if (Globais.Fumaça_X > Tamanho.Width) { Globais.Fumaça_X = 0; } } // Contagem if (VelocidadeX < 0) { VelocidadeX *= -1; } FumaçaX_Tempo = Environment.TickCount + 50 - VelocidadeX; }
private static void Editor_Mapas_Fumaça_Y() { Size Tamanho = Gráficos.TTamanho(Gráficos.Tex_Fumaça[Listas.Mapa[Editor_Mapas.Selecionado].Fumaça.Textura]); int VelocidadeY = Listas.Mapa[Editor_Mapas.Selecionado].Fumaça.VelocidadeY; // Apenas se necessário if (FumaçaY_Tempo >= Environment.TickCount) { return; } if (VelocidadeY == 0) { return; } // Movimento para trás if (VelocidadeY < 0) { Globais.Fumaça_Y -= 1; if (Globais.Fumaça_Y < -Tamanho.Height) { Globais.Fumaça_Y = 0; } } // Movimento para frente else { Globais.Fumaça_Y += 1; if (Globais.Fumaça_Y > Tamanho.Height) { Globais.Fumaça_Y = 0; } } // Contagem if (VelocidadeY < 0) { VelocidadeY *= -1; } FumaçaY_Tempo = Environment.TickCount + 50 - VelocidadeY; }
public static void Definir_Cliente() { string Diretório = Listas.Opções.Diretório_Cliente; // Previni erros if (!Directory.Exists(Diretório)) { Listas.Opções.Diretório_Cliente = string.Empty; Escrever.Opções(); return; } // Demonstra o diretório Seleção.Objetos.txtCliente_Diretório.Text = Diretório; // Cliente Fontes = new DirectoryInfo(Diretório + @"\Fontes\"); Sons = new DirectoryInfo(Diretório + @"\Aúdio\Sons\"); Músicas = new DirectoryInfo(Diretório + @"\Aúdio\Músicas\"); Cliente_Dados = new FileInfo(Diretório + @"\Dados\Gerais" + Formato); Botões_Dados = new DirectoryInfo(Diretório + @"\Dados\Ferramentas\Botões\"); Digitalizadores_Dados = new DirectoryInfo(Diretório + @"\Dados\Ferramentas\Digitalizadores\"); Paineis_Dados = new DirectoryInfo(Diretório + @"\Dados\Ferramentas\Paineis\"); Marcadores_Dados = new DirectoryInfo(Diretório + @"\Dados\Ferramentas\Marcadores\"); Tex_Panoramas = new DirectoryInfo(Diretório + @"\Gráficos\Panoramas\"); Tex_Luzes = new DirectoryInfo(Diretório + @"\Gráficos\Luzes\"); Tex_Fumaças = new DirectoryInfo(Diretório + @"\Gráficos\Fumaças\"); Tex_Personagens = new DirectoryInfo(Diretório + @"\Gráficos\Personagens\"); Tex_Faces = new DirectoryInfo(Diretório + @"\Gráficos\Faces\"); Tex_Paineis = new DirectoryInfo(Diretório + @"\Gráficos\Interface\Ferramentas\Paineis\"); Tex_Botões = new DirectoryInfo(Diretório + @"\Gráficos\Interface\Ferramentas\Botões\"); Tex_Marcador = new FileInfo(Diretório + @"\Gráficos\Interface\Ferramentas\Marcador"); Tex_Digitalizador = new FileInfo(Diretório + @"\Gráficos\Interface\Ferramentas\Digitalizador"); Tex_Azulejos = new DirectoryInfo(Diretório + @"\Gráficos\Azulejos\"); Tex_Grade = new FileInfo(Diretório + @"\Gráficos\Grade"); Tex_Clima = new FileInfo(Diretório + @"\Gráficos\Clima"); Tex_Preenchido = new FileInfo(Diretório + @"\Gráficos\Preenchido"); Tex_Direções = new FileInfo(Diretório + @"\Gráficos\Direções"); Tex_Transparente = new FileInfo(Diretório + @"\Gráficos\Transparente"); Tex_Iluminação = new FileInfo(Diretório + @"\Gráficos\Iluminação"); Tex_Itens = new DirectoryInfo(Diretório + @"\Gráficos\Itens\"); // Cria os diretórios Fontes.Create(); Sons.Create(); Músicas.Create(); Cliente_Dados.Directory.Create(); Botões_Dados.Create(); Digitalizadores_Dados.Create(); Paineis_Dados.Create(); Marcadores_Dados.Create(); Tex_Panoramas.Create(); Tex_Fumaças.Create(); Tex_Luzes.Create(); Tex_Personagens.Create(); Tex_Faces.Create(); Tex_Paineis.Create(); Tex_Botões.Create(); Tex_Marcador.Directory.Create(); Tex_Digitalizador.Directory.Create(); Tex_Azulejos.Create(); Tex_Grade.Directory.Create(); Tex_Clima.Directory.Create(); Tex_Preenchido.Directory.Create(); Tex_Direções.Directory.Create(); Tex_Transparente.Directory.Create(); Tex_Iluminação.Directory.Create(); Tex_Itens.Create(); // Lê os dados gerais do cliente Ler.Cliente_Dados(); Gráficos.LerTexturas(); Áudio.Som.Ler(); }
private void tmpRenderizar_Tick(object sender, System.EventArgs e) { // Renderiza as imagens Gráficos.PréVisualizar_Imagem(); }