Desenvolvendo jogos com MonoGame*

Tamanho: px
Começar a partir da página:

Download "Desenvolvendo jogos com MonoGame*"

Transcrição

1 Desenvolvendo jogos com MonoGame* Por Bruno Sonnino Muitos desenvolvedores querem desenvolver jogos. E porque não? Jogos estão entre os mais vendidos na história da computação e as fortunas envolvidas no negócio de jogos continuam a atrair desenvolvedores. Como um desenvolvedor, eu com certeza gostaria de estar entre aqueles que desenvolveram o próximo Angry Birds* ou Halo*. Na prática, o desenvolvimento de jogos é uma das áreas mais difíceis do desenvolvimento de software. Você deve lembrar daquelas aulas de trigonometria, geometria e física que pensou que nunca usaria, e que passam a ser parte importante de um jogo. Além disso, seu jogo deve combinar som, vídeo e uma estória de uma maneira que o usuário queira jogar mais e mais. E isto antes de escrever uma única linha de código! Para facilitar as coisas, há diversos frameworks disponíveis para o desenvolvimento de jogos usando não somente C e C++, mas até C# ou JavaScript* (sim, você pode desenvolver jogos tridimensionais para seu browser usando HTML5 e JavaScript). Um destes frameworks é o Microsoft XNA*, construído sobre a tecnologia Microsoft DirectX*, que permite criar jogos para o Xbox 360*, Windows* e Windows Phone*. A Microsoft está descontinuando o XNA mas, enquanto isso, a comunidade open source introduziu um novo participante: MonoGame*. O que é o MonoGame? MonoGame é uma implementação open source da API (Application Programming Interface) XNA. Ele implementa a API XNA não apenas para Windows, mas também para Mac* OS X*, Apple ios*, Google Android*, Linux* e Windows Phone. Isto significa que você pode desenvolver um jogo para qualquer uma destas plataformas com apenas pequenas modificações. Isto é uma característica fantástica: você pode criar jogos usando C# que podem ser portados facilmente para todas as maiores plataformas desktop, tablet ou smartphone. É um grande empurrão para quem quer conquistar o mundo com seus jogos. Instalando MonoGame no Windows Você nem precisa ter o Windows para desenvolver com MonoGame. Você pode usar o MonoDevelop* (uma IDE [Integrated Development Environment] open source para linguagens Microsoft.NET) ou Xamarin Studio*, uma IDE cross-platform desenvolvida pela Xamarin. Com estas IDEs, você pode desenvolver usando C# no Linux ou Mac.

2 2 Desenvolvendo Jogos com MonoGame Se você é um desenvolvedor Microsoft.NET e usa o Microsoft Visual Studio* diariamente, como eu, você pode instalar o MonoGame no Visual Studio e usá-lo para criar seus jogos. Quando este artigo foi escrito, a última versão estável era a versão 3.2. Esta versão roda no Visual Studio 2012 e 2013 e permite que você crie um jogo desktop DirectX, que você irá precisar se quiser suportar toque no jogo. A instalação do MonoGame traz diversos modelos para o Visual Studio, que você pode usar para criar seus jogos, como mostrado na Figura 1. Figura 1. Novos modelos instalados pelo MonoGame* Para criar seu primeiro jogo, clique em MonoGame Windows Project e selecione um nome. O Visual Studio cria um novo projeto com todos os arquivos e referências necessárias. Se você executar este projeto, obterá algo como mostrado na Figura 2.

3 Desenvolvendo Jogos com MonoGame 3 Figura 2. Jogo criado com o modelo MonoGame* Sem graça, não? Somente uma tela azul clara, mas este é o início para qualquer jogo que você criar. Tecle Esc e a janela fecha. Você pode começar a escrever seu jogo com o projeto que tem agora, mas existe um porém: Você não poderá adicionar recursos, como imagens, sprites, sons ou fontes sem compilar eles em um formato compatível com o MonoGame. Para isso, você tem uma destas opções: Instalar o XNA Game Studio 4.0. Instalar o Windows Phone 8 software development kit (SDK). Usar um programa externo, como o XNA content compiler. XNA Game Studio O XNA Game Studio tem tudo o que você precisa para criar jogos para Windows e Xbox 360. Ele também tem um compilador de conteúdo para compilar seus recursos para arquivos.xnb, que podem ser adicionados ao seu projeto MonoGame. Ele vem com a instalação apenas para o Visual Studio Se você não quer instalar o Visual Studio 2010 somente para isso, você pode instalar o XNA Game Studio no Visual Studio 2012 (veja o link na seção Para Mais Informações deste artigo).

4 4 Desenvolvendo Jogos com MonoGame Windows Phone 8 SDK Você não pode instalar o XNA Game Studio diretamente no Visual Studio 2012 ou 2013, mas o SDK Windows Phone 8 pode ser instalado sem problemas nestas duas IDEs. Você pode usá-lo para criar um projeto para compilar seus recursos. XNA Content Compiler Se você não quer instalar uma SDK para compilar seus recursos, você pode usar o XNA content compiler (veja o link em Para Mais Informações ), um programa open source que pode compilar seus recursos para arquivos.xnb, que podem ser usados no MonoGame. Criando seu Primeiro Jogo O jogo anterior que foi criado com o modelo MonoGame é o ponto inicial para todos os jogos. Você irá usar o mesmo processo em todos os jogos. Em Program.cs, você tem a função Main. Esta função inicializa e executa o jogo: static void Main() using (var game = new Game1()) game.run(); Game1.cs é o coração do jogo. Ali, você tem dois métodos que são chamados 60 vezes por Segundo em um loop: Update e Draw. Em Update, você recalcula os dados para todos os elementos no jogo; em Draw, você desenha estes elementos. Note que este é um loop muito estreito. Você tem 1/60 de Segundo, ou seja, 16.7 milissegundos para calcular e desenhar os dados. Se você levar mais tempo que isso, o programa pode pular alguns ciclos Draw e você irá ver falhas de desenho em seu jogo. Até recentemente, a entrada de dados para jogos em computadores desktop era o teclado e o mouse. A menos que o usuário tivesse comprado hardware extra, como volantes ou joysticks, você não poderia assumir que houvesse outros métodos de entrada. Com os novos equipamentos, como dispositivos Ultrabook, Ultrabook 2 em 1, em PCs all-in-one, essas opções mudaram. Você pode usar entrada de toque e de sensores, dando aos usuários um jogo mais imersivo e realista. Para este primeiro jogo, iremos criar um jogo de chutes de pênaltis de futebol. O usuário irá usar toque para chutar a bola e o goleiro do computador irá tentar pegá-la. A direção e a velocidade da bola serão determinadas pelo toque do usuário. O goleiro irá escolher um canto e velocidade arbitrários para pegar a bola. Cada gol resulta em um ponto. Se não houver gol, o goleiro fica com o ponto.

5 Desenvolvendo Jogos com MonoGame 5 Adicionando conteúdo ao jogo O primeiro passo no jogo é adicionar conteúdo. Inicie adicionando o fundo do campo e a bola. Para fazer isso, crie dois arquivos.png: um para o campo de futebol (Figura 3) e outro para a bola (Figura 4). Figura 3. O campo de futebol Figura 4. A bola de futebol

6 6 Desenvolvendo Jogos com MonoGame Para usar estes arquivos no jogo, você deve compilá-los. Se você está usando o XNA Game Studio ou o SDK Windows Phone 8, você deve criar um projeto de conteúdo XNA. Este projeto não precisa estar na mesma solução, você irá usá-lo apenas para compilar os recursos. Adicione os recursos a este projeto e compile-o. Em seguida, vá para o diretório destino e adicione os arquivos.xnb resultantes a seu projeto. Eu prefiro usar o XNA Content Compiler, pois este não requer um novo projeto e permite que você compile os recursos quando necessário. Abra o programa, adicione os arquivos à lista, selecione o diretório de saída e clique em Compile. Os arquivos.xnb estão prontos para serem adicionados ao projeto. Arquivos de Conteúdo Uma vez que os arquivos.xnb estão disponíveis, adicione-os à pasta Content de seu jogo. Você deve configurar a build action para cada arquivo como Content e a opção Copy to Output Directory como Copy if Newer. Se não fizer isso, você terá um erro ao tentar carregar os recursos. Crie dois campos para armazenar as texturas do campo e da bola: private Texture2D _backgroundtexture; private Texture2D _balltexture; Estes campos são carregados no método LoadContent: protected override void LoadContent() // Create a new SpriteBatch, which can be used to draw textures. _spritebatch = new SpriteBatch(GraphicsDevice); // TODO: use this.content to load your game content here _backgroundtexture = Content.Load<Texture2D>("SoccerField"); _balltexture = Content.Load<Texture2D>("SoccerBall"); Note que os nomes das texturas são os mesmos que o nome dos arquivos na pasta Content, mas sem a extensão. Em seguida, desenhe as texturas no método Draw: protected override void Draw(GameTime gametime) GraphicsDevice.Clear(Color.Green); // Set the position for the background var screenwidth = Window.ClientBounds.Width; var screenheight = Window.ClientBounds.Height; var rectangle = new Rectangle(0, 0, screenwidth, screenheight);

7 Desenvolvendo Jogos com MonoGame 7 // Begin a sprite batch _spritebatch.begin(); // Draw the background _spritebatch.draw(_backgroundtexture, rectangle, Color.White); // Draw the ball var initialballpositionx = screenwidth / 2; var ínitialballpositiony = (int)(screenheight * 0.8); var balldimension = (screenwidth > screenheight)? (int)(screenwidth * 0.02) : (int)(screenheight * 0.035); var ballrectangle = new Rectangle(initialBallPositionX, ínitialballpositiony, balldimension, balldimension); _spritebatch.draw(_balltexture, ballrectangle, Color.White); // End the sprite batch _spritebatch.end(); base.draw(gametime); Este método limpa a tela com uma cor verde e desenha o fundo e a bola na marca do pênalti. O primeiro método spritebatch.draw desenha o fundo redimensionado para o tamanho da janela, na posição 0,0; o segundo método desenha a bola na marca do pênalti, redimensionada proporcionalmente ao tamanho da janela. Não há movimento aqui, pois as posições não mudam. O próximo passo é movimentar a bola. Movendo a Bola Para mover a bola, você deve recalcular sua posição para cada iteração do loop e desenhá-la na nova posição. Faça o cálculo da nova posição no método Update: protected override void Update(GameTime gametime) if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed Keyboard.GetState().IsKeyDown(Keys.Escape)) Exit(); // TODO: Add your update logic here _ballposition -= 3; _ballrectangle.y = _ballposition; base.update(gametime); A posição da bola é atualizada em cada loop, subtraindo-se três pixels. Se você quiser fazer com que a bola se movimente mais rápido, você deve subtrair mais pixels. As variáveis _screenwidth, _screenheight, _backgroundrectangle, _ballrectangle e _ballposition são campos privados, inicializados no método ResetWindowSize: private void ResetWindowSize() _screenwidth = Window.ClientBounds.Width;

8 8 Desenvolvendo Jogos com MonoGame _screenheight = Window.ClientBounds.Height; _backgroundrectangle = new Rectangle(0, 0, _screenwidth, _screenheight); _initialballposition = new Vector2(_screenWidth / 2.0f, _screenheight * 0.8f); var balldimension = (_screenwidth > _screenheight)? (int)(_screenwidth * 0.02) : (int)(_screenheight * 0.035); _ballposition = (int)_initialballposition.y; _ballrectangle = new Rectangle((int)_initialBallPosition.X, (int)_initialballposition.y, balldimension, balldimension); Este método reinicializa todas as variáveis que dependem do tamanho da janela. Ele é chamado no método Initialize: protected override void Initialize() // TODO: Add your initialization logic here ResetWindowSize(); Window.ClientSizeChanged += (s, e) => ResetWindowSize(); base.initialize(); Este método é chamado em dois lugares diferentes: no início do processo e toda vez que o tamanho da janela muda. Initialize manipula ClientSizeChanged, de maneira que quando o tamanho da janela muda, as variáveis que dependem do tamanho da janela são reavaliadas e a bola é reposicionada para a marca do pênalti. Se você executar o programa, você verá que a bola move-se em uma linha reta, mas não para quando o campo termina. Você pode reposicionar a bola quando ela alcança o gol com o seguinte código: protected override void Update(GameTime gametime) if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed Keyboard.GetState().IsKeyDown(Keys.Escape)) Exit(); // TODO: Add your update logic here _ballposition -= 3; if (_ballposition < _goallineposition) _ballposition = (int)_initialballposition.y; _ballrectangle.y = _ballposition; base.update(gametime); A variável _goallineposition é outro campo inicializado no método ResetWindowSize: _goallineposition = _screenheight * 0.05; Você deve fazer outra mudança no método Draw: remover todo o código de cálculo de posições.

9 Desenvolvendo Jogos com MonoGame 9 protected override void Draw(GameTime gametime) GraphicsDevice.Clear(Color.Green); var rectangle = new Rectangle(0, 0, _screenwidth, _screenheight); // Begin a sprite batch _spritebatch.begin(); // Draw the background _spritebatch.draw(_backgroundtexture, rectangle, Color.White); // Draw the ball _spritebatch.draw(_balltexture, _ballrectangle, Color.White); // End the sprite batch _spritebatch.end(); base.draw(gametime); O movimento é perpendicular ao gol. Se você quiser que a bola se movimente num ângulo, crie um campo _ballpositionx e incremente-o para movimentar para a direita ou decremente-o, para movimentar para a esquerda. Uma maneira melhor é usar um Vector2 para a posição da bola, como o seguinte: protected override void Update(GameTime gametime) if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed Keyboard.GetState().IsKeyDown(Keys.Escape)) Exit(); // TODO: Add your update logic here _ballposition.x -= 0.5f; _ballposition.y -= 3; if (_ballposition.y < _goallineposition) _ballposition = new Vector2(_initialBallPosition.X,_initialBallPosition.Y); _ballrectangle.x = (int)_ballposition.x; _ballrectangle.y = (int)_ballposition.y; base.update(gametime); Se você executar o programa, verá que a bola se move com um ângulo (Figura 5). O passo seguinte é fazer a bola se mover quando o usuário chuta ela.

10 10 Desenvolvendo Jogos com MonoGame Figura 5. Jogo com a bola em movimento Toque e Gestos Neste jogo, o movimento da bola deve iniciar com um peteleco. Este toque determina a direção e velocidade da bola. No MonoGame, você pode ter entrada de toque usando a classe TouchPanel. Você pode usar os dados brutos de entrada ou usar a API de gestos. Os dados brutos trazem mais flexibilidade, pois você pode processar os dados de entrada da maneira que deseja, enquanto que a API de gestos transforma os dados brutos em gestos filtrados, de maneira que você só recebe entrada para os gestos que deseja. Embora a API de gestos seja mais fácil de usar, há alguns casos em que ela não pode ser usada. Por exemplo, se você quer detectar um gesto especial, como um X ou gestos com mais de dois dedos, deverá usar os dados brutos. Para este jogo precisamos apenas do peteleco, e a API de gestos suporta isso, então iremos usá-la. A primeira coisa a fazer é indicar quais os gestos que você quer, usando a classe TouchPanel. Por exemplo, o código: TouchPanel.EnabledGestures = GestureType.Flick GestureType.FreeDrag;

11 Desenvolvendo Jogos com MonoGame faz com que o MonoGame detecte e notifique apenas quando for feito um peteleco ou arrastado o dedo. Então, no método Update, você pode processar os gestos como da seguinte maneira: if (TouchPanel.IsGestureAvailable) // Read the next gesture GestureSample gesture = TouchPanel.ReadGesture(); if (gesture.gesturetype == GestureType.Flick) Inicialmente, determine se um gesto está disponível. Se estiver, você pode chamar ReadGesture para obtê-lo e processá-lo. Iniciando o Movimento com Toque Habilite gestos de peteleco no jogo usando o método Initialize: protected override void Initialize() // TODO: Add your initialization logic here ResetWindowSize(); Window.ClientSizeChanged += (s, e) => ResetWindowSize(); TouchPanel.EnabledGestures = GestureType.Flick; base.initialize(); Até agora, a bola estava em movimento enquanto o jogo estava em execução. Use um campo privado, _isballmoving, para dizer ao jogo quando a bola está em movimento. No método Update, quando o programa detecta um peteleco, você deve configurar _isballmoving para True, para iniciar o movimento. Quando a bola alcança a linha do gol, configure _isballmoving para False e reposicione a bola: protected override void Update(GameTime gametime) if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed Keyboard.GetState().IsKeyDown(Keys.Escape)) Exit(); // TODO: Add your update logic here if (!_isballmoving && TouchPanel.IsGestureAvailable) // Read the next gesture GestureSample gesture = TouchPanel.ReadGesture(); if (gesture.gesturetype == GestureType.Flick) _isballmoving = true;

12 12 Desenvolvendo Jogos com MonoGame _ballvelocity = gesture.delta * (float)targetelapsedtime.totalseconds / 5.0f; if (_isballmoving) _ballposition += _ballvelocity; // reached goal line if (_ballposition.y < _goallineposition) _ballposition = new Vector2(_initialBallPosition.X, _initialballposition.y); _isballmoving = false; while (TouchPanel.IsGestureAvailable) TouchPanel.ReadGesture(); _ballrectangle.x = (int) _ballposition.x; _ballrectangle.y = (int) _ballposition.y; base.update(gametime); A velocidade da bola não é mais fixa: o programa usa o campo _ballvelocity para configurar a velocidade da bola nas direções x e y. Gesture.Delta retorna a variação de movimento desde a última atualização. Para calcular a velocidade do peteleco, multiplique este vetor pela propriedade TargetElapsedTime. Se a bola está se movendo, o vetor _ballposition é incrementado pela velocidade (em pixels por frame) até que a bola alcança a linha do gol. O código a seguir: _isballmoving = false; while (TouchPanel.IsGestureAvailable) TouchPanel.ReadGesture();... faz duas coisas: para a bola e remove todos os gestos da fila de entrada. Se você não fizer isso, o usuário poderá fazer gestos enquanto a bola se move, fazendo com que ela reinicie o movimento após ter parado. Ao executar o jogo, você pode dar petelecos na bola e ela se moverá na direção do peteleco, com a velocidade do gesto. Entretanto, temos um porém: o código não detecta onde o gesto ocorreu. Você pode dar petelecos em qualquer ponto da tela (não somente na bola) e a bola irá iniciar o movimento. Você poderia usar gesture.position para detectar a posição do gesto, mas esta propriedade sempre retorna 0,0 e assim ela não pode ser usada. A solução é usar os dados brutos, obter a entrada de toque e ver se ela está próxima da bola. O código a seguir determina se a entrada de toque coincide com a bola. Se coincidir, configuramos o campo _isballhit: TouchCollection touches = TouchPanel.GetState(); if (touches.count > 0 && touches[0].state == TouchLocationState.Pressed)

13 Desenvolvendo Jogos com MonoGame 13 var touchpoint = new Point((int)touches[0].Position.X, (int)touches[0].position.y); var hitrectangle = new Rectangle((int)_ballPositionX, (int)_ballpositiony, _balltexture.width, _balltexture.height); hitrectangle.inflate(20,20); _isballhit = hitrectangle.contains(touchpoint); Assim, o movimento só inicia se o campo _isballhit é True: if (TouchPanel.IsGestureAvailable && _isballhit) Se você executar o jogo, verá que o movimento da bola só começa se você der um peteleco nela. Ainda temos um problema aqui: se você atingir a bola muito devagar ou em uma direção que a bola não atinge a linha do gol, o jogo termina pois a bola não volta nunca para a posição inicial. Você deve configurar um timeout para o movimento da bola. Quando o tempo expirar, o jogo reposiciona a bola. O método Update tem um parâmetro: gametime. Se você armazenar o valor de gametime quando o movimento for iniciado, você poderá saber o tempo que a bola está em movimento e reinicializar o jogo quando este tempo expirar: if (gesture.gesturetype == GestureType.Flick) _isballmoving = true; _isballhit = false; _startmovement = gametime.totalgametime; _ballvelocity = gesture.delta*(float) TargetElapsedTime.TotalSeconds/5.0f;... var timeinmovement = (gametime.totalgametime - _startmovement).totalseconds; // reached goal line or timeout if (_ballposition.y < _goallineposition timeinmovement > 5.0) _ballposition = new Vector2(_initialBallPosition.X, _initialballposition.y); _isballmoving = false; _isballhit = false; while (TouchPanel.IsGestureAvailable) TouchPanel.ReadGesture(); Adicionando um Goleiro O jogo está funcionando, mas ele precisa de um elemento de dificuldade: você deve adicionar um goleiro que fica se mexendo depois que a bola é chutada. O goleiro é um arquivo.png que é compilado pelo XNA Content Compiler (Figura 6). Você deve adicionar este arquivo compilado à

14 14 Desenvolvendo Jogos com MonoGame pasta Content, configurar a opção build action para Content, e configurar Copy to Output Directory para Copy if Newer. Figura 6. O goleiro O goleiro é carregado no método LoadContent: protected override void LoadContent() // Create a new SpriteBatch, which can be used to draw textures. _spritebatch = new SpriteBatch(GraphicsDevice); // TODO: use this.content to load your game content here _backgroundtexture = Content.Load<Texture2D>("SoccerField"); _balltexture = Content.Load<Texture2D>("SoccerBall"); _goalkeepertexture = Content.Load<Texture2D>("Goalkeeper"); Você deve desenhar ele no método Draw: protected override void Draw(GameTime gametime) GraphicsDevice.Clear(Color.Green); // Begin a sprite batch _spritebatch.begin(); // Draw the background _spritebatch.draw(_backgroundtexture, _backgroundrectangle, Color.White); // Draw the ball _spritebatch.draw(_balltexture, _ballrectangle, Color.White); // Draw the goalkeeper _spritebatch.draw(_goalkeepertexture, _goalkeeperrectangle, Color.White); // End the sprite batch _spritebatch.end(); base.draw(gametime); _goalkeeperrectangle contém o retângulo do goleiro na janela. Ele é mudado no método Update: protected override void Update(GameTime gametime) _ballrectangle.x = (int) _ballposition.x; _ballrectangle.y = (int) _ballposition.y; _goalkeeperrectangle = new Rectangle(_goalkeeperPositionX, _goalkeeperpositiony, _goalkeeperwidth, _goalkeeperheight); base.update(gametime);

15 Desenvolvendo Jogos com MonoGame 15 Os campos _goalkeeperpositiony, _goalkeeperwidth e _goalkeeperheight são atualizados no método ResetWindowSize: private void ResetWindowSize() _goalkeeperpositiony = (int) (_screenheight*0.12); _goalkeeperwidth = (int)(_screenwidth * 0.05); _goalkeeperheight = (int)(_screenwidth * 0.005); A posição inicial do goleiro é no meio da tela, perto da linha do gol: _goalkeeperpositionx = (_screenwidth - _goalkeeperwidth)/2; O goleiro inicia o movimento ao mesmo tempo em que a bola. Ele se move de um lado para outro em um movimento harmônico. Esta senoide descreve seu movimento: X = A * sin(at + δ) A é a amplitude do movimento (a largura do gol), t é o tempo do movimento, e a e δ são coeficientes aleatórios (isso fará com que o movimento seja aleatório, de modo que o usuário não possa prever a velocidade e o canto que o goleiro irá tomar). Os coeficientes são calculados quando o usuário chuta a bola: if (gesture.gesturetype == GestureType.Flick) _isballmoving = true; _isballhit = false; _startmovement = gametime.totalgametime; _ballvelocity = gesture.delta * (float)targetelapsedtime.totalseconds / 5.0f; var rnd = new Random(); _acoef = rnd.nextdouble() * 0.005; _deltacoef = rnd.nextdouble() * Math.PI / 2; O coeficiente a é a velocidade do goleiro, um número entre 0 e que representa uma velocidade entre 0 e 0.3 pixels/segundos (máximo de pixels em 1/60 de segundo). O coeficiente δ é um número entre 0 e pi/2. Quando a bola está se movendo, você muda a posição do goleiro: if (_isballmoving) _ballpositionx += _ballvelocity.x; _ballpositiony += _ballvelocity.y; _goalkeeperpositionx = (int)((_screenwidth * 0.11) * Math.Sin(_aCoef * gametime.totalgametime.totalmilliseconds + _deltacoef) + (_screenwidth * 0.75) / _screenwidth * 0.11);

16 16 Desenvolvendo Jogos com MonoGame A amplitude do movimento é _screenwidth * 0.11 (o tamanho do gol). Adicione (_screenwidth * 0.75) / _screenwidth * 0.11 ao resultado, de modo que o goleiro se movimente em frente ao gol. Agora é hora de fazer o goleiro pegar a bola. Teste de Colisão Se você quiser saber se o goleiro pega a bola, você deve saber se o retângulo da bola intercepta o retângulo do goleiro. Você faz isso no método Update,depois de calcular os dois retângulos: _ballrectangle.x = (int)_ballposition.x; _ballrectangle.y = (int)_ballposition.y; _goalkeeperrectangle = new Rectangle(_goalkeeperPositionX, _goalkeeperpositiony, _goalkeeperwidth, _goalkeeperheight); if (_goalkeeperrectangle.intersects(_ballrectangle)) ResetGame(); ResetGame é somente uma refatoração do código que reinicializa o jogo ao estado inicial: private void ResetGame() _ballposition = new Vector2(_initialBallPosition.X, _initialballposition.y); _goalkeeperpositionx = (_screenwidth - _goalkeeperwidth) / 2; _isballmoving = false; _isballhit = false; while (TouchPanel.IsGestureAvailable) TouchPanel.ReadGesture(); Com este código simples, o jogo sabe se o goleiro pegou a bola. Agora, você precisa saber se a bola atingiu o gol. Você faz isso quando a bola passa da linha do gol. var istimeout = timeinmovement > 5.0; if (_ballposition.y < _goallineposition istimeout) bool isgoal =!istimeout && (_ballposition.x > _screenwidth * 0.375) && (_ballposition.x < _screenwidth * 0.623); ResetGame(); A bola deve estar completamente dentro do gol, a sua posição deve estar entre o primeiro poste do gol (_screenwidth * 0.375) e o segundo poste (_screenwidth * _screenwidth * 0.02). Agora é hora de atualizar o placar do jogo.

17 Desenvolvendo Jogos com MonoGame 17 Adicionando um Placar Para adicionar um placar ao jogo, você deve adicionar um novo recurso: um spritefont com o fonte usado no jogo. Um spritefont é um arquivo.xml descrevendo o fonte a família do fonte, seu tamanho e peso, juntamente com outras propriedades. Em um jogo, você pode usar um spritefont como esse: <?xml version="1.0" encoding="utf-8"?> <XnaContent xmlns:graphics="microsoft.xna.framework.content.pipeline.graphics"> <Asset Type="Graphics:FontDescription"> <FontName>Segoe UI</FontName> <Size>24</Size> <Spacing>0</Spacing> <UseKerning>false</UseKerning> <Style>Regular</Style> <CharacterRegions> <CharacterRegion> <Start> </Start> <End>&#127;</End> </CharacterRegion> </CharacterRegions> </Asset> </XnaContent> Você deve compilar este arquivo.xml com o XNA Content Compiler e adicionar o arquivo.xnb resultante à pasta Content do projeto; configure a opção build action para Content e Copy to Output Directory para Copy if Newer. O fonte é carregado no método LoadContent: _soccerfont = Content.Load<SpriteFont>("SoccerFont"); Em ResetWindowSize, reinicialize a posição do placar: var scoresize = _soccerfont.measurestring(_scoretext); _scoreposition = (int)((_screenwidth - scoresize.x) / 2.0); Para manter o resultado do jogo, declare duas variáveis: _userscore e _computerscore. A variável _userscore é incrementada quando acontece um gol e _computerscore é incrementado quando a bola vai para fora, o tempo expira ou o goleiro pega a bola: if (_ballposition.y < _goallineposition istimeout) bool isgoal =!istimeout && (_ballposition.x > _screenwidth * 0.375) && (_ballposition.x < _screenwidth * 0.623); if (isgoal) _userscore++; else _computerscore++; ResetGame();

18 18 Desenvolvendo Jogos com MonoGame if (_goalkeeperrectangle.intersects(_ballrectangle)) _computerscore++; ResetGame(); ResetGame recria e reposiciona o placar: private void ResetGame() _ballposition = new Vector2(_initialBallPosition.X, _initialballposition.y); _goalkeeperpositionx = (_screenwidth - _goalkeeperwidth) / 2; _isballmoving = false; _isballhit = false; _scoretext = string.format("0 x 1", _userscore, _computerscore); var scoresize = _soccerfont.measurestring(_scoretext); _scoreposition = (int)((_screenwidth - scoresize.x) / 2.0); while (TouchPanel.IsGestureAvailable) TouchPanel.ReadGesture(); O método _soccerfont.measurestring mede o string usando o fonte selecionado. Você irá usar esta medida para calcular a posição do placar. O placar será desenhado no método Draw: protected override void Draw(GameTime gametime) // Draw the score _spritebatch.drawstring(_soccerfont, _scoretext, new Vector2(_scorePosition, _screenheight * 0.9f), Color.White); // End the sprite batch _spritebatch.end(); base.draw(gametime); Ligando as Luzes do Estádio Como um toque final, o jogo liga as luzes do estádio quando o nível de luz no ambiente está baixo. Os novos dispositivos Ultrabook e 2 em 1 tem, em geral, sensores de luz que você pode usar para determinar quanta luz há no ambiente e mudar a maneira que o fundo é desenhado. Para aplicações desktop, você pode usar o Windows API Code Pack para o Microsoft.NET Framework, uma biblioteca que permite acessar recursos dos sistemas operacionais Windows 7 e mais novos. Para este jogo, iremos usar um outro caminho: as APIs de sensores WinRT. Embora elas tenham sido escritas para Windows 8, elas também estão disponíveis para aplicações desktop e podem ser usadas sem mudanças. Usando-as, você pode portar sua aplicação para Windows 8 Store sem mudar uma única linha de código.

19 Desenvolvendo Jogos com MonoGame 19 O Intel Developer Zone (IDZ) tem um artigo sobre como usar as APIs WinRT em uma aplicação desktop (veja a seção Para Mais Informações ). Baseado nesta informação, você deve selecionar o projeto no Solution Explorer, dar um clique com o botão direito e selecionar Unload Project. Então, clique com o botão direito novamente e clique em Edit project. No primeiro PropertyGroup, adicione um rótulo TargetPlatFormVersion: <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <FileAlignment>512</FileAlignment> <TargetPlatformVersion>8.0</TargetPlatformVersion> </PropertyGroup> Clique com o botão direito novamente e então clique em Reload Project. Visual Studio recarrega o projeto. Quando você adicionar uma nova referência ao projeto, você poderá ver a aba Windows no gerenciador de referências, como mostra a Figura 7. Figure 7. A aba Windows* no Gerenciador de Referências

20 20 Desenvolvendo Jogos com MonoGame Adicione a referência Windows ao projeto. Você também deve adicionar uma referência a System.Runtime.WindowsRuntime.dll. Se não puder encontrar este assembly na lista, você pode navegar para a pasta.net Assemblies. Na minha máquina, esta pasta está em C:\Program Files (x86)\reference Assemblies\Microsoft\Framework\.NETCore\v4.5. Agora, você pode escrever código para detector o sensor de luz: LightSensor light = LightSensor.GetDefault(); if (light!= null) Se o sensor de luz estiver presente, o método GetDefault retorna uma variável não nula que você pode usar para detector variações de luz. Você pode fazer isto manipulando o evento ReadingChanged, como a seguir: LightSensor light = LightSensor.GetDefault(); if (light!= null) light.reportinterval = 0; light.readingchanged += (s,e) => _lightson = e.reading.illuminanceinlux < 10; Se a leitura estiver abaixo de 10, a variável _lightson é True, e você pode usá-la para desenhar o fundo de outra maneira. Se você olhar o método Draw de spritebatch, verá que o terceiro parâmetro é uma cor. Até agora, você usou apenas branco. Esta cor é usada para colorir o bitmap. Se usar branco, as cores do bitmap permanecem as mesmas; se usar preto, o bitmap será todo preto. Qualquer outra cor colore o bitmap. Você pode usar esta cor para ligar as luzes, usando uma cor verde quando as luzes estão desligadas e branco quando ligadas. No método Draw, mude o desenho do fundo: _spritebatch.draw(_backgroundtexture, rectangle, _lightson? Color.White : Color.Green); Agora, quando você executa o programa, verá um fundo verde escuro quando as luzes estão desligadas e verde claro quando estão ligadas (Figura 8).

21 Desenvolvendo Jogos com MonoGame 21 Figura 8. O jogo finalizado Agora você tem um jogo completo. Sem dúvida, ele não está acabado ele necessita ainda muito polimento (animações quando acontece um gol, bola retornando quando o goleiro pega a bola ou atinge um poste) mas eu deixo isto como lição de casa para você. O passo final é portar o jogo para Windows 8. Portando o Jogo para Windows 8 Portar um jogo MonoGame para outras plataformas é fácil. Você deve apenas criar um novo projeto na solução, do tipo MonoGame Windows Store Project, e apagar o arquivo Game1.cs e adicionar os quatro arquivos.xnb da pasta Content da app Windows Desktop para a pasta Content do novo projeto. Você não irá adicionar novas cópias dos arquivos, mas irá adicionar links para os arquivos originais. No Solution Explorer, clique com o botão direito na pasta Content do novo projeto, clique em Add/Existing Files, selecione os quatro arquivos.xnb do projeto Desktop, clique na seta para baixo ao lado do botão Add e selecione Add as link. O Visual Studio adiciona os quatro links. Em seguida, adicione o arquivo Game1.cs do velho projeto ao novo. Repita o procedimento que você fez com os arquivos.xnb: clique com o botão direito no projeto, clique em Add/Existing Files e selecione Game1.cs do outro projeto, clique na seta para baixo ao lado do botão Add e

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 5: INICIANDO O PROJETO DE UM JOGO NO VISUAL C# Criar e testar o código de um projeto de jogo produzido através

Leia mais

Norberto Mateos Carrascal Diretor Territorial para o Sul da Europa Intel Corporation

Norberto Mateos Carrascal Diretor Territorial para o Sul da Europa Intel Corporation Norberto Mateos Carrascal Diretor Territorial para o Sul da Europa Intel Corporation O mundo está diferente Consumidores Educação Shopping a a Viagens Comunicação a a Indústrias estabelecidas num Século

Leia mais

Aula 02 Introdução ao desenvolvimento de Jogos em XNA Parte 1

Aula 02 Introdução ao desenvolvimento de Jogos em XNA Parte 1 Aula 02 Introdução ao desenvolvimento de Jogos em XNA Parte 1 1 Conhecendo o game loop em XNA A IDE Visual Studio é considerada o repositório onde devemos carregar e instalar a biblioteca de desenvolvimento

Leia mais

Introdução ao XNA. Curso de Jogos Digitais disciplina: Programação no XNA

Introdução ao XNA. Curso de Jogos Digitais disciplina: Programação no XNA Introdução ao XNA Paulo Sérgio Custódio, prof FMU Curso de Jogos Digitais disciplina: Programação no XNA Nas primeiras aulas do nosso curso vamos tomar contato com a biblioteca XNA de desenvolvimento de

Leia mais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Exibir e movimentar a espaçonave do jogador na tela do jogo.

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Exibir e movimentar a espaçonave do jogador na tela do jogo. META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 6: EXIBINDO E MOVIMENTANDO A SUA ESPAÇONAVE Exibir e movimentar a espaçonave do jogador na tela do jogo. OBJETIVOS

Leia mais

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel Software de gerenciamento do sistema Intel do servidor modular Intel Declarações de Caráter Legal AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO RELACIONADAS AOS PRODUTOS INTEL, PARA FINS DE SUPORTE ÀS PLACAS

Leia mais

XNA Game Studio Express. Desenho em 2D. Aula 2. Alexandre Santos Lobão contato@alexandrelobao. Pós s em Desenvolvimento de Jogos Eletrônicos - IESB

XNA Game Studio Express. Desenho em 2D. Aula 2. Alexandre Santos Lobão contato@alexandrelobao. Pós s em Desenvolvimento de Jogos Eletrônicos - IESB XNA Game Studio Express Aula 2 Desenho em 2D Alexandre Santos Lobão contato@alexandrelobao AlexandreLobao.com Pós s em Desenvolvimento de Jogos Eletrônicos - IESB Agenda: Aula 2 Revisão Arquitetura de

Leia mais

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX. Vinícius Barreto de Sousa Neto

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX. Vinícius Barreto de Sousa Neto INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX Vinícius Barreto de Sousa Neto Libgdx é um framework multi plataforma de visualização e desenvolvimento de jogos. Atualmente ele suporta Windows, Linux,

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

Introdução ao OneDrive

Introdução ao OneDrive Introdução ao OneDrive Tudo em um só lugar na sua vida No Windows 8.1 e no Windows RT 8.1, você pode facilmente salvar seus arquivos no OneDrive e acessá-los de qualquer dispositivo, como computador, tablet

Leia mais

Apresentação. Alexandre Tolstenko Nogueira. alexandre@tolstenko.net http://tolstenko.net

Apresentação. Alexandre Tolstenko Nogueira. alexandre@tolstenko.net http://tolstenko.net Apresentação Alexandre Tolstenko Nogueira alexandre@tolstenko.net http://tolstenko.net Teoria Prática Teoria XNA Pong Carregar e desenhar imagens na tela Estrutura e organização básica Colisões Componentes

Leia mais

Tutorial: Instalando Linux Educacional em uma maquina virtual

Tutorial: Instalando Linux Educacional em uma maquina virtual Maria Augusta Sakis Tutorial: Instalando Linux Educacional em uma Máquina Virtual Máquinas virtuais são muito úteis no dia-a-dia, permitindo ao usuário rodar outros sistemas operacionais dentro de uma

Leia mais

Para baixá-lo entre no site : http://www.netduino.com/; Selecione a aba Downloads ; Clique no link: Microsoft Visual C# Express 2010; Por meio desse

Para baixá-lo entre no site : http://www.netduino.com/; Selecione a aba Downloads ; Clique no link: Microsoft Visual C# Express 2010; Por meio desse Para baixá-lo entre no site : http://www.netduino.com/; Selecione a aba Downloads ; Clique no link: Microsoft Visual C# Express 2010; Por meio desse programa será possível conectar-se ao Netduíno. Execute

Leia mais

Manual do KMouseTool. Jeff Roush Tradução: Marcus Gama

Manual do KMouseTool. Jeff Roush Tradução: Marcus Gama Jeff Roush Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 Usando o KMouseTool 6 3 Referência de comandos 7 3.1 A janela principal do KMouseTool............................ 7 4 Dicas 9 5 Perguntas e

Leia mais

O sistema está pedindo que eu faça meu login novamente e diz que minha sessão expirou. O que isso significa?

O sistema está pedindo que eu faça meu login novamente e diz que minha sessão expirou. O que isso significa? Que tipo de navegadores são suportados? Preciso permitir 'cookies' O que são 'cookies' da sessão? O sistema está pedindo que eu faça meu login novamente e diz que minha sessão expirou. O que isso significa?

Leia mais

Perguntas e respostas

Perguntas e respostas Autodesk Revit Autodesk Revit Architecture Autodesk Revit MEP Autodesk Revit Structure Autodesk Revit LT Perguntas e respostas Este documento fornece perguntas e respostas sobre como usar o software Autodesk

Leia mais

OneDrive: saiba como usar a nuvem da Microsoft

OneDrive: saiba como usar a nuvem da Microsoft OneDrive: saiba como usar a nuvem da Microsoft O OneDrive é um serviço de armazenamento na nuvem da Microsoft que oferece a opção de guardar até 7 GB de arquivos grátis na rede. Ou seja, o usuário pode

Leia mais

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik Sense Desktop Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik, QlikTech,

Leia mais

Receita de bolo para instalar MinGW-GCC e Netbeans em Windows

Receita de bolo para instalar MinGW-GCC e Netbeans em Windows Receita de bolo para instalar MinGW-GCC e Netbeans em Windows Hae Yong Kim 13/08/2014 Este documento explica como fiz para instalar compilador MinGW-GCC e ambiente de desenvolvimento Netbeans em Windows.

Leia mais

Asset Inventory Service (AIS)

Asset Inventory Service (AIS) Asset Inventory Service (AIS) Última revisão feita em 02 de Setembro de 2008. Objetivo Neste artigo veremos detalhes sobre o Asset Inventory Service (AIS), um serviço disponível através do System Center

Leia mais

Dominando Action Script 3

Dominando Action Script 3 Dominando Action Script 3 Segunda Edição (2014) Daniel Schmitz Esse livro está à venda em http://leanpub.com/dominandoactionscript3 Essa versão foi publicada em 2014-05-02 This is a Leanpub book. Leanpub

Leia mais

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! UNIVERSIDADE DE SÃO PAULO (USP) ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES (EACH) TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! Autoria e revisão por: PET Sistemas

Leia mais

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER V14 de BricsCAD vem com um novo sistema de licenciamento, com base na tecnologia de licenciamento de Reprise Software. Este novo sistema oferece um ambiente

Leia mais

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano Informática Aplicada Aula 2 Windows Vista Professora: Cintia Caetano AMBIENTE WINDOWS O Microsoft Windows é um sistema operacional que possui aparência e apresentação aperfeiçoadas para que o trabalho

Leia mais

MANUAL DE FTP. Instalando, Configurando e Utilizando FTP

MANUAL DE FTP. Instalando, Configurando e Utilizando FTP MANUAL DE FTP Instalando, Configurando e Utilizando FTP Este manual destina-se auxiliar os clientes e fornecedores da Log&Print na instalação, configuração e utilização de FTP O que é FTP? E o que é um

Leia mais

Intel Teach Program Essentials Course. Tutorial para wik.is

Intel Teach Program Essentials Course. Tutorial para wik.is Tutorial para wik.is Esse documento inclui os passos e sugestões para estabelecer um wiki site para o Curso Essencial do Programa Intel Educar ou para sua própria turma. Essas instruções se aplicam para

Leia mais

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão 1.0.0. Copyright Nextel 2014. http://nextelcloud.nextel.com.br

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão 1.0.0. Copyright Nextel 2014. http://nextelcloud.nextel.com.br Manual do Usuário Versão 1.0.0 Copyright Nextel 2014 http://nextelcloud.nextel.com.br 1 Nextel Cloud... 4 2 Nextel Cloud Web... 5 2.1 Página Inicial... 6 2.1.1 Meu Perfil... 7 2.1.2 Meu Dispositivo...

Leia mais

Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: Marcus Gama

Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: Marcus Gama Manual do Remote Desktop Connection Brad Hards Urs Wolfer Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 O protocolo do Buffer de Quadro Remoto (Buffer de Quadro Remoto) 6 3 Usando o Remote Desktop

Leia mais

Inicialização Rápida do Novell Vibe Mobile

Inicialização Rápida do Novell Vibe Mobile Inicialização Rápida do Novell Vibe Mobile Março de 2015 Introdução O acesso móvel ao site do Novell Vibe pode ser desativado por seu administrador do Vibe. Se não conseguir acessar a interface móvel do

Leia mais

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo) APOSTILA DE EXEMPLO (Esta é só uma reprodução parcial do conteúdo) 1 Índice Aula 1 - Área de trabalho e personalizando o sistema... 3 A área de trabalho... 3 Partes da área de trabalho.... 4 O Menu Iniciar:...

Leia mais

Java e JavaScript. Krishna Tateneni Tradução: Lisiane Sztoltz

Java e JavaScript. Krishna Tateneni Tradução: Lisiane Sztoltz Krishna Tateneni Tradução: Lisiane Sztoltz 2 Conteúdo 1 Java e JavaScript 4 1.1 Java............................................. 4 1.2 JavaScript.......................................... 4 3 1 Java e

Leia mais

Seu primeiro jogo no Game Maker - tradução livre do tutorial do Game Maker. Traduzido por: Fernanda Monteiro Eliott.

Seu primeiro jogo no Game Maker - tradução livre do tutorial do Game Maker. Traduzido por: Fernanda Monteiro Eliott. Seu primeiro jogo no Game Maker - tradução livre do tutorial do Game Maker. Traduzido por: Fernanda Monteiro Eliott. No jogo, algumas frutas se moverão pelo mundo. O jogador deve clicar sobre elas com

Leia mais

Digitalização. Copiadora e Impressora WorkCentre C2424

Digitalização. Copiadora e Impressora WorkCentre C2424 Digitalização Este capítulo inclui: Digitalização básica na página 4-2 Instalando o driver de digitalização na página 4-4 Ajustando as opções de digitalização na página 4-5 Recuperando imagens na página

Leia mais

Como fazer benchmark do computador

Como fazer benchmark do computador O que é o Índice de Experiência do Windows? O Índice de Experiência do Windows é uma medição que informa como o seu PC funciona com o Windows e usa uma pontuação básica para classificar a experiência que

Leia mais

Manual de Instalação: Agente do OCS Inventory NG

Manual de Instalação: Agente do OCS Inventory NG Manual de Instalação: Agente do OCS Inventory NG Abril 2013 Sumário 1. Agente... 1 2. Onde instalar... 1 3. Etapas da Instalação do Agente... 1 a. Etapa de Instalação do Agente... 1 b. Etapa de Inserção

Leia mais

Como Usar o DriverMax

Como Usar o DriverMax Como Usar o DriverMax Este programa é uma mão na roda para proteger os drivers dos componentes de um computador. Veja porquê. O DriverMax é uma ferramenta que faz cópias de segurança de todos os drivers

Leia mais

CRIANDO TEMPLATES E LEGENDAS

CRIANDO TEMPLATES E LEGENDAS CRIANDO TEMPLATES E LEGENDAS Este tutorial tem como objetivo instruir passo à passo como criar templates de peças, utilizar os novos recursos de cadastro de propriedade de peças e criação de legenda. 1-

Leia mais

Solução de acessibilidade. Guia do administrador

Solução de acessibilidade. Guia do administrador Solução de acessibilidade Guia do administrador Julho de 2014 www.lexmark.com Conteúdo 2 Conteúdo Visão geral...3 Configurando o aplicativo...4 Configurando o acesso do usuário...4 Desativando funções

Leia mais

Tutorial de Instalação do OpenCV 2.3

Tutorial de Instalação do OpenCV 2.3 Tutorial de Instalação do OpenCV 2.3 Escrito por: Lucas Grassano Lattari (llattari@ic.uff.br) O OpenCV (Open Computer Vision) é uma biblioteca multiplataforma, totalmente livre para o uso acadêmico e comercial,

Leia mais

Manual TIM PROTECT BACKUP. Manual do Usuário. Versão 1.0.0. Copyright TIM PROTECT BACKUP 2013. http://timprotect.com.br/

Manual TIM PROTECT BACKUP. Manual do Usuário. Versão 1.0.0. Copyright TIM PROTECT BACKUP 2013. http://timprotect.com.br/ Manual do Usuário Versão 1.0.0 Copyright TIM PROTECT BACKUP 2013 http://timprotect.com.br/ 1 1 Índice 1 Índice... 2 2 TIM PROTECT BACKUP...Erro! Indicador não definido. 3 TIM PROTECT BACKUP Web... 6 3.1

Leia mais

Autodesk. SketchBook INK. Dicas e truques. Android

Autodesk. SketchBook INK. Dicas e truques. Android Autodesk SketchBook INK Dicas e truques Android Índice analítico Dicas antes de começar 3 Guia de Introdução 4 Criar uma tela 4 Cor 5 Personalizar a paleta de cores 5 Como selecionar uma cor 6 Como capturar

Leia mais

É uma das linguagens de programação que fazem parte da Plataforma.NET (em inglês: dotnet) criada pela Microsoft (Microsoft.NET).

É uma das linguagens de programação que fazem parte da Plataforma.NET (em inglês: dotnet) criada pela Microsoft (Microsoft.NET). C ( C-Sharp ) LPI 1. A Plataforma.NET (em inglês: dotnet) Visão Geral C é uma linguagem de programação. É uma das linguagens de programação que fazem parte da Plataforma.NET (em inglês: dotnet) criada

Leia mais

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7)

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7) SafeNet Authentication Client 8.2 SP1 (Para MAC OS 10.7) 2/28 Sumário 1 Introdução... 3 2 Pré-Requisitos Para Instalação... 3 3 Ambientes Homologados... 4 4 Tokens Homologados... 4 5 Instruções de Instalação...

Leia mais

Geração e instalação de Certificado APNS

Geração e instalação de Certificado APNS Geração e instalação de Certificado APNS Manual Rápido para geração e instalação de um Certificado APNS Apple Versão: x.x Manual rápido MobiDM para Certificado APNS Página 1 Índice 1. CERTIFICADO APNS

Leia mais

Clique no menu Iniciar > Todos os Programas> Microsoft Office > Publisher 2010.

Clique no menu Iniciar > Todos os Programas> Microsoft Office > Publisher 2010. 1 Publisher 2010 O Publisher 2010 é uma versão atualizada para o desenvolvimento e manipulação de publicações. Juntamente com ele você irá criar desde cartões de convite, de mensagens, cartazes e calendários.

Leia mais

Manual Vivo Sync. Manual do Usuário. Versão 1.0.0. Copyright Vivo 2013. http://vivosync.com.br

Manual Vivo Sync. Manual do Usuário. Versão 1.0.0. Copyright Vivo 2013. http://vivosync.com.br Manual do Usuário Versão 1.0.0 Copyright Vivo 2013 http://vivosync.com.br 1 1 Índice 1 Índice... 2 2 Vivo Sync... 5 3 Vivo Sync Web... 6 3.1 Página Inicial... 6 3.1.1 Novo Contato... 7 3.1.2 Editar Contato...

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

Leia mais

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Windows

Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Windows Inicialização Rápida do Aplicativo de Desktop Novell Filr 1.2 para Windows Abril de 2015 Inicialização rápida O Novell Filr permite que você acesse facilmente todos os seus arquivos e pastas do desktop,

Leia mais

Informática básica Telecentro/Infocentro Acessa-SP

Informática básica Telecentro/Infocentro Acessa-SP Informática básica Telecentro/Infocentro Acessa-SP Aula de hoje: Periférico de entrada/saída, memória, vírus, Windows, barra tarefas. Prof: Lucas Aureo Guidastre Memória A memória RAM é um componente essencial

Leia mais

Frameworks para criação de Web Apps para o Ensino Mobile

Frameworks para criação de Web Apps para o Ensino Mobile 393 Frameworks para criação de Web Apps para o Ensino Mobile Lucas Zamim 1 Roberto Franciscatto 1 Evandro Preuss 1 1 Colégio Agrícola de Frederico Westphalen (CAFW) Universidade Federal de Santa Maria

Leia mais

Instalando e Ativando o Smaart 7

Instalando e Ativando o Smaart 7 Instalando e Ativando o Smaart 7 A Instalação do Smaart 7 da Rational Acoustics consiste em instalar o software e depois registrar e ativar a sua instalação. Abaixo explicaremos estes passos. Instalação

Leia mais

Boot Camp Guia de Instalação e Configuração

Boot Camp Guia de Instalação e Configuração Boot Camp Guia de Instalação e Configuração Conteúdo 3 Introdução 4 Visão geral da instalação 4 Passo 1: Buscar atualizações 4 Passo 2: Preparar o Mac para Windows 4 Passo 3: Instalar o Windows no seu

Leia mais

BOLETIM TÉCNICO NComputing Brasil - #110502 Instalando o Oracle Virtualbox 4.0.2 e Criando uma VM Windows Server 2008 no Virtualbox O que é virtualbox? O virtualbox é um aplicativo de virtualização multi-plataforma

Leia mais

5.3.2.7 Lab - Configurações do Navegador no Windows 7

5.3.2.7 Lab - Configurações do Navegador no Windows 7 5.0 5.3.2.7 Lab - Configurações do Navegador no Windows 7 Introdução Imprima e preencha este laboratório. Neste laboratório, você realizará as configurações do navegador Microsoft Internet Explorer. Equipamento

Leia mais

Laplink PCmover Express A Maneira Mais Fácil de Migrar para um Novo PC Windows. Guia do Usuário

Laplink PCmover Express A Maneira Mais Fácil de Migrar para um Novo PC Windows. Guia do Usuário Laplink PCmover Express A Maneira Mais Fácil de Migrar para um Novo PC Windows Guia do Usuário Serviço de Atendimento ao Cliente/ Suporte Técnico Site: http://www.laplink.com/index.php/por/contact E-mail:

Leia mais

Criando um Jogo de Ping Pong no Unity tipo 2D

Criando um Jogo de Ping Pong no Unity tipo 2D Criando um Jogo de Ping Pong no Unity tipo 2D Criação do Jogo Crie um novo projeto do tipo 2D com nome PingPong2D. File New Project. Escolha o diretório e nome para salvar e como do tipo 2D. Veja abaixo:

Leia mais

Boot Camp Guia de Instalação e Configuração

Boot Camp Guia de Instalação e Configuração Boot Camp Guia de Instalação e Configuração Índice 3 Introdução 4 Requisitos Necessários 5 Visão Geral da Instalação 5 Passo 1: Buscar atualizações 5 Passo 2: Preparar o Mac para Windows 5 Passo 3: Instalar

Leia mais

Desenvolvimento para Android Prá9ca 1. Prof. Markus Endler

Desenvolvimento para Android Prá9ca 1. Prof. Markus Endler Desenvolvimento para Android Prá9ca 1 Prof. Markus Endler Pré- requisitos Para desenvolver para plataforma Android, é necessário fazer o download e instalar: Android SDK Tools: necessário para gerenciamento

Leia mais

Guia do usuário do PrintMe Mobile 3.0

Guia do usuário do PrintMe Mobile 3.0 Guia do usuário do PrintMe Mobile 3.0 Visão geral do conteúdo Sobre o PrintMe Mobile Requisitos do sistema Impressão Solução de problemas Sobre o PrintMe Mobile O PrintMe Mobile é uma solução empresarial

Leia mais

Ave: Manual do usuário

Ave: Manual do usuário As iniciais no canto superior esquerdo indicam a atual lista de espécies em uso. Clique neste campo para abrir uma grade com todas Ave: Manual do usuário Introdução A Janela Inicial O botão Listas Sobre

Leia mais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Instalar corretamente as ferramentas necessárias para a criação dos jogos

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Instalar corretamente as ferramentas necessárias para a criação dos jogos META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 4: INSTALANDO O VISUAL C# E O XNA GAME STUDIO Instalar corretamente as ferramentas necessárias para a criação

Leia mais

Usar Atalhos para a Rede. Logar na Rede

Usar Atalhos para a Rede. Logar na Rede GUIA DO USUÁRIO: NOVELL CLIENT PARA WINDOWS* 95* E WINDOWS NT* Usar Atalhos para a Rede USAR O ÍCONE DA NOVELL NA BANDEJA DE SISTEMA Você pode acessar vários recursos do software Novell Client clicando

Leia mais

b 1 Copyright 2008-2012 In9 Mídia Soluções Digitais Inc. All rights reserved.

b 1 Copyright 2008-2012 In9 Mídia Soluções Digitais Inc. All rights reserved. b 1 Conteúdo Capítulo 1... 3 Instalando o Neonews... 3 Neonews no Linux... 6 Capítulo 2... 7 Configurando o NeoNews... 7 Capítulo 3... 13 Teclas de Atalho do NeoNews Player... 13 2 Capítulo 1 Instalando

Leia mais

MicrovixPOS Requisitos, Instalação e Execução

MicrovixPOS Requisitos, Instalação e Execução MicrovixPOS Requisitos, Instalação e Execução Autor Público Alvo Rodrigo Cristiano dos Santos Suporte Técnico, Consultoria e Desenvolvimento. Histórico Data 13/06/2012 Autor Rodrigo Cristiano Descrição

Leia mais

NAPNE / RENAPI. Manual Virtual Keyboard

NAPNE / RENAPI. Manual Virtual Keyboard NAPNE / RENAPI Manual Virtual Keyboard Abril de 2009 Sumário 1 Introdução... 3 2 Objetivos... 4 2.1 Vídeo... 4 2.1.1 Performance de Aprendizagem e previsão... 4 3. Escrita... 4 4 Download... 5 4.1 Realizar

Leia mais

Manual Vivo Sync. Manual do Usuário. Versão 1.0.0. Copyright Vivo 2013. http://vivosync.com.br

Manual Vivo Sync. Manual do Usuário. Versão 1.0.0. Copyright Vivo 2013. http://vivosync.com.br Manual do Usuário Versão 1.0.0 Copyright Vivo 2013 http://vivosync.com.br 1 1 Índice 1 Índice... 2 2 Vivo Sync... 4 3 Vivo Sync Web... 5 3.1 Página Inicial... 5 3.1.1 Novo Contato... 6 3.1.2 Editar Contato...

Leia mais

Guia de Inicialização para o Windows

Guia de Inicialização para o Windows Intralinks VIA Versão 2.0 Guia de Inicialização para o Windows Suporte 24/7/365 da Intralinks EUA: +1 212 543 7800 Reino Unido: +44 (0) 20 7623 8500 Consulte a página de logon da Intralinks para obter

Leia mais

Programação para Android

Programação para Android Programação para Android Aula 01: Visão geral do android, instalação e configuração do ambiente de desenvolvimento, estrutura básica de uma aplicação para Android Objetivos Configurar o ambiente de trabalho

Leia mais

Manual do Usuário Android Neocontrol

Manual do Usuário Android Neocontrol Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5

Leia mais

(Nota Fiscal Eletrônica no Power Systems AS/400) Projeto Nacional Versão 1.0

(Nota Fiscal Eletrônica no Power Systems AS/400) Projeto Nacional Versão 1.0 Manual do usuário (Nota Fiscal Eletrônica no Power Systems AS/400) Projeto Nacional Versão 1.0 29-03-2011 1 de 32 Í ndice 1. Descrição Geral do Sistema 1.1 Descrição 1.2 Desenho do Processo 2. Aplicação

Leia mais

Delphi 7 Aula 01 Área do Triângulo

Delphi 7 Aula 01 Área do Triângulo Delphi 7 Aula 01 Área do Triângulo Prof. Gilbert Azevedo da Silva I. Objetivos Conhecer o Ambiente Integrado de Desenvolvimento (IDE) do Delphi 7, Desenvolver a primeira aplicação no Delphi 7, Aprender

Leia mais

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Ele considera que você já tem o Joomla! instalado no seu computador. Caso você queira utilizá lo em um servidor na web,

Leia mais

Instalação do Java SDK (Software Development Kit)

Instalação do Java SDK (Software Development Kit) ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos PMR 2300 Computação para Automação 1 o Semestre 2005 Instalação do Java SDK (Software Development

Leia mais

# Sumário. # Uso em ambientes de alto risco

# Sumário. # Uso em ambientes de alto risco Arquivo Leia-me do ScanSnap Manager V6.1L11 PFU LIMITED # Sumário 1. Requisitos do sistema 2. Cuidados relacionados ao USB e ao computador 3. Cuidados relacionados à instalação 4. Cuidados relacionados

Leia mais

Manual de instalação e configuração da Ferramenta Android SDK

Manual de instalação e configuração da Ferramenta Android SDK Trabalho de Programação para Dispositivos Móveis Turma: 1011 Camila Botelho camilacunhabotelho@gmail.com Manual de instalação e configuração da Ferramenta Android SDK Introdução O Android é uma ferramenta

Leia mais

ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL WINDOWS 7

ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL WINDOWS 7 ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL WINDOWS 7 OBJETIVO Conhecer as funcionalidades do software VMware Player implantando o sistema operacional Windows 7 e trabalhando em algumas ferramentas nativas

Leia mais

TYPE-S. Thin and light protective keyboard case For Samsung GALAXY Tab S 10.5. Setup Guide

TYPE-S. Thin and light protective keyboard case For Samsung GALAXY Tab S 10.5. Setup Guide TYPE-S Thin and light protective keyboard case For Samsung GALAXY Tab S 10.5 Setup Guide TYPE-S Thin and light protective keyboard case For Samsung GALAXY Tab S 10.5 Contents Português 59 www.logitech.com/support/type-s

Leia mais

IRISPen Air 7. Guia Rápido. (Windows & Mac OS X)

IRISPen Air 7. Guia Rápido. (Windows & Mac OS X) IRISPen Air 7 Guia Rápido (Windows & Mac OS X) Este Guia Rápido do Usuário ajuda você a começar a usar o IRISPen Air TM 7. Leia este guia antes de utilizar o scanner e o respectivo software.todas as informações

Leia mais

Bem-vindo ao Dropbox!

Bem-vindo ao Dropbox! Saiba como começar a utilizar o Dropbox: 1 2 3 4 Mantenha seus arquivos em segurança Leve seus arquivos para qualquer lugar Envie arquivos grandes Trabalhe junto em arquivos Bem-vindo ao Dropbox! 1 Mantenha

Leia mais

MQSeries Everyplace. Leia-me primeiro G517-7010-00

MQSeries Everyplace. Leia-me primeiro G517-7010-00 MQSeries Everyplace Leia-me primeiro G517-7010-00 MQSeries Everyplace Leia-me primeiro G517-7010-00 Primeira Edição (Junho de 2000) Esta edição se aplica ao MQSeries Everyplace Versão 1.0 e a todos os

Leia mais

Atualizações de Software Guia do Usuário

Atualizações de Software Guia do Usuário Atualizações de Software Guia do Usuário Copyright 2009 Hewlett-Packard Development Company, L.P. Windows e Windows Vista são marcas registradas da Microsoft Corporation nos EUA. Aviso sobre o produto

Leia mais

Aula: BrOffice Impress primeira parte

Aula: BrOffice Impress primeira parte Aula: BrOffice Impress primeira parte Objetivos Conhecer as características de um software de apresentação; Saber criar uma apresentação rápida com os recursos de imagem e texto; Saber salvar a apresentação;

Leia mais

Guia de Instalação. NSi AutoStore TM 6.0

Guia de Instalação. NSi AutoStore TM 6.0 Guia de Instalação NSi AutoStore TM 6.0 SUMÁRIO PREREQUISITES... 3 INSTALLATION: UPGRADING FROM AUTOSTORE 5.0... 4 INSTALLATION: NEW INSTALLATION... 8 LICENSING... 17 GETTING STARTED... 34 2012 Notable

Leia mais

Crie um novo documento de mais ou menos 300x300Selecione a ferramenta Elipse tool (elipse U)

Crie um novo documento de mais ou menos 300x300Selecione a ferramenta Elipse tool (elipse U) Animação Crie um novo documento de mais ou menos 300x300Selecione a ferramenta Elipse tool (elipse U) Crie uma bola segurando a tecla SHIFT com uma cor qualquer Duplique essa bola através do menu Editar

Leia mais

Desenvolvimento de cenários 3D com estereoscopia utilizando a engine de jogos UDK Unreal Development Kit. Hipólito Douglas França Moreira

Desenvolvimento de cenários 3D com estereoscopia utilizando a engine de jogos UDK Unreal Development Kit. Hipólito Douglas França Moreira Desenvolvimento de cenários 3D com estereoscopia utilizando a engine de jogos UDK Unreal Development Kit Hipólito Douglas França Moreira Unreal Development Kit Desenvolvida para a construção de jogos,

Leia mais

SIPREV/Gestão de RPPS Implantação Manual de Instalação Versão 1.18

SIPREV/Gestão de RPPS Implantação Manual de Instalação Versão 1.18 Implantação Manual de Instalação Versão 1.18 1 de 44 - Manual de Instalação Histórico de Revisões Data Versão Descrição Autor 19/05/09 1.0 Criação do documento Carlos Tabosa-UDCE 22/05/09 1.1 Revisão do

Leia mais

Configurar o Furbot no Eclipse

Configurar o Furbot no Eclipse Configurar o Furbot no Eclipse Primeiramente, precisamos abrir o Eclipse. Logo no início, deverá aparecer uma tela assim: Nela, você irá selecionar o local do seu workspace. Workspace é o local onde ficarão

Leia mais

Microsoft Visual Studio 2010 C# Volume II

Microsoft Visual Studio 2010 C# Volume II Microsoft Visual Studio 2010 C# Volume II Apostila desenvolvida pelos Professores Ricardo Santos de Jesus e Rovilson de Freitas, para as Disciplinas de Desenvolvimento de Software I e II, nas Etecs de

Leia mais

Banner Flutuante. Dreamweaver

Banner Flutuante. Dreamweaver Banner Flutuante Dreamweaver Começamos com um arquivo em branco no Dreamweaver MX. Para que o banner apareça sobre a página, precisamos inserir uma camada a mais no arquivo HTML. Selecione o menu Inserir

Leia mais

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Como funciona a MEO Cloud?

Como funciona a MEO Cloud? Boas-vindas O que é a MEO Cloud? A MEO Cloud é um serviço da Portugal Telecom, lançado a 10 de Dezembro de 2012, de alojamento e sincronização de ficheiros. Ao criar uma conta na MEO Cloud fica com 16

Leia mais

O Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: José Pires

O Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: José Pires O Manual do Remote Desktop Connection Brad Hards Urs Wolfer Tradução: José Pires 2 Conteúdo 1 Introdução 5 2 O protocolo do Remote Frame Buffer 6 3 Usar o Remote Desktop Connection 7 3.1 Ligar o Remote

Leia mais

Lync Acessando o Lync Web App

Lync Acessando o Lync Web App Lync Acessando o Lync Web App Saiba como ingressar em uma reunião, quais são os recursos disponíveis, as configurações e conheça o layout do Lync Web App. Sumário Lync Web App... 1 Ingressar em uma Reunião

Leia mais

Como configurar e-mails nos celulares. Ebook. Como configurar e-mails no seu celular. W3alpha - Desenvolvimento e hospedagem na internet

Como configurar e-mails nos celulares. Ebook. Como configurar e-mails no seu celular. W3alpha - Desenvolvimento e hospedagem na internet Ebook Como configurar e-mails no seu celular Este e-book irá mostrar como configurar e-mails, no seu celular. Sistemas operacionais: Android, Apple, BlackBerry, Nokia e Windows Phone Há muitos modelos

Leia mais

Seja Bem-Vindo. Sharepoint 2007 para Desenvolvedores. Inicio: 19:00 Termino: 22:00

Seja Bem-Vindo. Sharepoint 2007 para Desenvolvedores. Inicio: 19:00 Termino: 22:00 Seja Bem-Vindo Sharepoint 2007 para Desenvolvedores Inicio: 19:00 Termino: 22:00 Intervalo: 15 minutos Marcelo Sincic Consultor / Instrutor msincic@uol.com.br Microsoft como CPLS - Certified Partner Learning

Leia mais

Computador móvel Dolphin TM 6500. Guia Rápido de Instalação

Computador móvel Dolphin TM 6500. Guia Rápido de Instalação Computador móvel Dolphin TM 6500 Guia Rápido de Instalação Computador móvel Dolphin 6500 Conteúdo da caixa Verifique se a caixa de seu produto contém os seguintes itens: Computador móvel Dolphin 6500

Leia mais

1. Usar o scanner IRISCard

1. Usar o scanner IRISCard O Guia Rápido do Usuário ajuda você a instalar e começar a usar scanners IRISCard Anywhere 5 e IRISCard Corporate 5. Os softwares fornecidos com esses scanners são: - Cardiris Pro 5 e Cardiris Corporate

Leia mais