protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); canhao = new Canhao(); disco = DiscoVoador.Instancia; cenario = new Cenario(); roda = new Roda(); bolasCanhao = new List <BolaCanhao>(); canhao.Imagem = Content.Load <Texture2D>(@"images/canhao"); canhao.Posicao = new Vector2(25, 453); canhao.Som = Content.Load <SoundEffect>(@"sounds/tiro"); roda.Imagem = Content.Load <Texture2D>(@"images/roda"); roda.Posicao = new Vector2(23, 405); cenario.Imagem = Content.Load <Texture2D>(@"images/cenario1"); vida = Content.Load <Texture2D>(@"images/barrahp"); cenario.Posicao = new Vector2(0, 0); disco.Imagem = Content.Load <Texture2D>(@"images/disco"); disco.Som = Content.Load <SoundEffect>(@"sounds/hit"); disco.Posicao = new Vector2(0, 0); disco.sprite = Content.Load <Texture2D>(@"images/explosao"); }
private void CapturarMovimentoUsuario(KeyboardState keyState, Canhao canhao, GraphicsDevice graphicsDevice, GameTime time) { SetDirecao(keyState); bool houveMovimento = keyState.IsKeyDown(Keys.Right) || keyState.IsKeyDown(Keys.Left) || keyState.IsKeyDown(Keys.Down) || keyState.IsKeyDown(Keys.Up); if (houveMovimento) { if (velocidadeInicial < 3.5) { velocidadeInicial = velocidadeInicial + ACELERACAO * ((float)time.TotalGameTime.TotalMilliseconds - totalMiliseconds) / 1000; } } else { velocidadeInicial = velocidadeInicial - ACELERACAO * ((float)time.TotalGameTime.TotalMilliseconds - totalMiliseconds) / 1000; if (velocidadeInicial < 0) { velocidadeInicial = 0; return; } } Rectangle tela = graphicsDevice.Viewport.Bounds; float limiteAltura = tela.Height - Imagem.Height - canhao.Imagem.Height - (tela.Height - canhao.Posicao.Y); bool ultrapassarTela = (Direcao == Enuns.DirecaoDisco.Baixo && Posicao.Y >= limiteAltura) || (Direcao == Enuns.DirecaoDisco.Cima && Posicao.Y < 0) || (Direcao == Enuns.DirecaoDisco.Direita && Posicao.X >= tela.Width - Imagem.Width) || (Direcao == Enuns.DirecaoDisco.Esquerda && Posicao.X < 0); if (ultrapassarTela) { velocidadeInicial = 0; } else { if (Direcao == Enuns.DirecaoDisco.Baixo) { Posicao = new Vector2(Posicao.X, Posicao.Y + velocidadeInicial); } else if (Direcao == Enuns.DirecaoDisco.Cima) { Posicao = new Vector2(Posicao.X, Posicao.Y - velocidadeInicial); } else if (Direcao == Enuns.DirecaoDisco.Direita) { Posicao = new Vector2(Posicao.X + velocidadeInicial, Posicao.Y); } else if (Direcao == Enuns.DirecaoDisco.Esquerda) { Posicao = new Vector2(Posicao.X - velocidadeInicial, Posicao.Y); } } }
internal void VerificarMovimento(KeyboardState keyState, Canhao canhao, GraphicsDevice graphicsDevice, GameTime gameTime) { if (_Queda.EmQueda) { Cair(gameTime, graphicsDevice); } else { CapturarMovimentoUsuario(keyState, canhao, graphicsDevice, gameTime); } totalMiliseconds = (float)gameTime.TotalGameTime.TotalMilliseconds; }
public static InformacaoDiscoVoador GetInformacao(Canhao canhao) { InformacaoDiscoVoador inf = new InformacaoDiscoVoador(); DiscoVoador discoVoador = DiscoVoador.Instancia; inf.meiaLargura = discoVoador.Imagem.Height * 1.0f / 2; inf.meiaAltura = discoVoador.Imagem.Width * 1.0f / 2; inf.yDiscoVoador = discoVoador.Posicao.Y + inf.meiaLargura; inf.xDiscoVoador = discoVoador.Posicao.X + inf.meiaAltura; inf.catetoOposto = canhao.Posicao.Y - inf.yDiscoVoador; inf.catetoAdvacente = inf.xDiscoVoador - canhao.Posicao.X; inf.distancia = (float)Math.Sqrt(Math.Pow(inf.catetoOposto, 2) + Math.Pow(inf.catetoAdvacente, 2)); return(inf); }
protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); canhao = new Canhao(); disco = DiscoVoador.Instancia; cenario = new Cenario(); roda = new Roda(); bolasCanhao = new List<BolaCanhao>(); canhao.Imagem = Content.Load<Texture2D>(@"images/canhao"); canhao.Posicao = new Vector2(25, 453); canhao.Som = Content.Load<SoundEffect>(@"sounds/tiro"); roda.Imagem = Content.Load<Texture2D>(@"images/roda"); roda.Posicao = new Vector2(23, 405); cenario.Imagem = Content.Load<Texture2D>(@"images/cenario1"); vida = Content.Load<Texture2D>(@"images/barrahp"); cenario.Posicao = new Vector2(0, 0); disco.Imagem = Content.Load<Texture2D>(@"images/disco"); disco.Som = Content.Load<SoundEffect>(@"sounds/hit"); disco.Posicao = new Vector2(0, 0); disco.sprite = Content.Load<Texture2D>(@"images/explosao"); }
public static InformacaoDiscoVoador GetInformacao(Canhao canhao) { InformacaoDiscoVoador inf = new InformacaoDiscoVoador(); DiscoVoador discoVoador = DiscoVoador.Instancia; inf.meiaLargura = discoVoador.Imagem.Height * 1.0f / 2; inf.meiaAltura = discoVoador.Imagem.Width * 1.0f / 2; inf.yDiscoVoador = discoVoador.Posicao.Y + inf.meiaLargura; inf.xDiscoVoador = discoVoador.Posicao.X + inf.meiaAltura; inf.catetoOposto = canhao.Posicao.Y - inf.yDiscoVoador; inf.catetoAdvacente = inf.xDiscoVoador - canhao.Posicao.X; inf.distancia = (float)Math.Sqrt(Math.Pow(inf.catetoOposto, 2) + Math.Pow(inf.catetoAdvacente, 2)); return inf; }