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

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

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

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

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

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

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

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

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

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

Escaneando seu computador com o Avira AntiVir 10

Escaneando seu computador com o Avira AntiVir 10 Escaneando seu computador com o Avira AntiVir 10 Para fazer um scan, clique com o botão direito do mouse sobre o símbolo do Avira AntiVir (aquele guarda-chuva vermelho aberto ao lado do relógio do Windows)

Leia mais

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item Sites da web. Servidor WEB Desenvolvedores de sites que querem aprender ou testar ASP, ou mesmo profissionais que precisam desenvolver páginas ASP ou ASP.Net, não precisam necessariamente ter um servidor na web com

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

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

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

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

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

PROJETO INFORMÁTICA NA ESCOLA

PROJETO INFORMÁTICA NA ESCOLA EE Odilon Leite Ferraz PROJETO INFORMÁTICA NA ESCOLA AULA 1 APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA Apresentação dos Estagiários Apresentação do Programa Acessa

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

Procedimento para atualização do aplicativo KID Together

Procedimento para atualização do aplicativo KID Together Procedimento para atualização do aplicativo KID Together 1º PASSO: Abrir o painel de controle: Iniciar > Painel de Controle. Clique em "Exibir impressoras e dispositivos" na sessão Hardware e Sons Selecione

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

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

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

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

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO.

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO. SUMÁRIO TUTORIAL DO HQ... 2 DICAS PEDAGÓGICAS:... 2 DOWNLOAD DA INSTALAÇÃO... 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD... 2 PASSO 2 ESCOLHENDO A VERSÃO... 3 PASSO 3 INSTRUÇÕES DE INSTALAÇÃO... 4 CRIANDO NOVAS

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

Usar o Office 365 no iphone ou ipad

Usar o Office 365 no iphone ou ipad Usar o Office 365 no iphone ou ipad Guia de Início Rápido Verificar o email Configure o seu iphone ou ipad para enviar e receber emails de sua conta do Office 365. Verificar o seu calendário onde quer

Leia mais

INSTALANDO SQL SERVER 2008

INSTALANDO SQL SERVER 2008 VERSÃO 2 INSTALANDO SQL SERVER 2008 Pré-requisitos para instalação do SQL SERVER 2008 Antes de iniciar o instalador do SQL SERVER 2008 é necessário instalar os seguintes componentes: Microsoft Windows

Leia mais

TUTORIAL COMO CRIAR E EDITAR UM VÍDEO NO WINDOWS MOVIE MAKER*

TUTORIAL COMO CRIAR E EDITAR UM VÍDEO NO WINDOWS MOVIE MAKER* TUTORIAL COMO CRIAR E EDITAR UM VÍDEO NO WINDOWS MOVIE MAKER* * Microsoft Windows MovieMakeré um programa da Microsoft Corporation. A versão utilizada é a 5.1 que já vem instalada no Microsoft Windows

Leia mais

Guia de Início Rápido

Guia de Início Rápido Guia de Início Rápido O Microsoft Word 2013 parece diferente das versões anteriores, por isso criamos este guia para ajudar você a minimizar a curva de aprendizado. Barra de Ferramentas de Acesso Rápido

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

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Introdução ao Microsoft Windows 7 O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Visualmente o Windows 7 possui uma interface muito intuitiva, facilitando a experiência individual do

Leia mais

Prática 6 ActionScript

Prática 6 ActionScript Prática 6 ActionScript 1. Objetivos Se familiarizar com o ActionScript. Usar comandos e funções básicas. 2. Recursos Necessários Computador com o programa Macromedia Flash MX ou superior. 3. Conceitos

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

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela Aula 01 - Formatações prontas e Sumário Formatar como Tabela Formatar como Tabela (cont.) Alterando as formatações aplicadas e adicionando novos itens Removendo a formatação de tabela aplicada Formatação

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

Polycom RealPresence Content Sharing Suite Guia rápido do usuário

Polycom RealPresence Content Sharing Suite Guia rápido do usuário Polycom RealPresence Content Sharing Suite Guia rápido do usuário Versão 1.2 3725-69877-001 Rev.A Novembro de 2013 Neste guia, você aprenderá a compartilhar e visualizar conteúdos durante uma conferência

Leia mais

Hyper-V e Intel HAXM. Ativando a virtualização

Hyper-V e Intel HAXM. Ativando a virtualização Hyper-V e Intel HAXM Neste texto iremos tratar de dois softwares utilizados para virtualização, o Hyper-V da Microsoft e o Intel HAXM (Intel Hardware Accelerated Execution Manager). O Hyper-V é utilizado

Leia mais

Manual AGENDA DE BACKUP

Manual AGENDA DE BACKUP Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu

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

Instalando o J2SE 5.0 JDK no Windows 2000/XP

Instalando o J2SE 5.0 JDK no Windows 2000/XP Instalando o J2SE 5.0 JDK no Windows 2000/XP Fabricio Leonard Leopoldino Descreve o processo de download, instalação e configuração do J2SE 5.0 JDK, no Windows 2000 e no Windows XP. 1 - Introdução Para

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

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo Manual Sistema MLBC Manual do Sistema do Módulo Administrativo Este documento tem por objetivo descrever as principais funcionalidades do sistema administrador desenvolvido pela MLBC Comunicação Digital.

Leia mais

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP 1.6.7 (xampp-win32-1.6.7-installer.exe), veja aqui.

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP 1.6.7 (xampp-win32-1.6.7-installer.exe), veja aqui. Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. Escrito por Marcio Nakano (marcionakano.com.br) Data: 29/09/2008 Disponível em http:///blog/post/instalando-apache-mysql-coldfusionphp.pdf

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

Microsoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos

Microsoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos Microsoft Access: Criar relações para um novo banco de Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: relações são essenciais Lição: inclui oito seções Tarefas práticas sugeridas Teste Cartão

Leia mais

Dicas para usar melhor o Word 2007

Dicas para usar melhor o Word 2007 Dicas para usar melhor o Word 2007 Quem está acostumado (ou não) a trabalhar com o Word, não costuma ter todo o tempo do mundo disponível para descobrir as funcionalidades de versões recentemente lançadas.

Leia mais

Manual do Plone (novo portal do IFCE)

Manual do Plone (novo portal do IFCE) Manual do Plone (novo portal do IFCE) Dezembro/2015 Índice Como criar submenus... 3 Como criar banner rotativo... 4 Como remover um banner... 5 Como criar uma notícia... 6 Como inserir imagem na notícia...

Leia mais

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT Power Point Básico Santa Maria, julho de 2006 O Power Point é um aplicativo do Microsoft Office direcionado à criação de apresentações.

Leia mais

Processo de Instalação Limpa do Windows 8.1 em Computadores Philco

Processo de Instalação Limpa do Windows 8.1 em Computadores Philco Processo de Instalação Limpa do Windows 8.1 em Computadores Philco O processo de Instalação Limpa irá remover todos os programas e arquivos de dados do seu computador, substituindo eles com uma instalação

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

Lazarus pelo SVN Linux/Windows

Lazarus pelo SVN Linux/Windows Lazarus pelo SVN Linux/Windows Sei que não faltam artigos sobre como obter e compilar o Lazarus e o FPC pelo SVN, mas sei também que nunca é de mais divulgar um pouco mais e talvez escrever algo diferente.

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

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

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO Criação de Conta de Usuário...03 Edição da Conta de Usuário...10 Download do Backup Online Embratel...10 Descrição dos Conjuntos de Cópia de Segurança...19

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

O Primeiro Programa em Visual Studio.net

O Primeiro Programa em Visual Studio.net O Primeiro Programa em Visual Studio.net Já examinamos o primeiro programa escrito em C que servirá de ponto de partida para todos os demais exemplos e exercícios do curso. Agora, aprenderemos como utilizar

Leia mais

Como instalar uma impressora?

Como instalar uma impressora? Como instalar uma impressora? Antes de utilizar uma impressora para imprimir seus documentos, arquivos, fotos, etc. é necessário instalá-la e configurá-la no computador. Na instalação o computador se prepara

Leia mais

AULA: BrOffice Impress terceira parte. Ao final dessa aula, você deverá ser capaz de:

AULA: BrOffice Impress terceira parte. Ao final dessa aula, você deverá ser capaz de: AULA: BrOffice Impress terceira parte Objetivo Ao final dessa aula, você deverá ser capaz de: Conhecer a integração dos softwares do BrOffice; Aprender a trabalhar no slide mestre; Utilizar interação entre

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

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua.

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua. 7 Animação Animações é um dos quesitos muito importantes em jogos, você não acha? Para isso o JPlay tem uma classe específica para lidar com animações. Essa classe se chama Animation. Bem sugestivo o nome

Leia mais

Sumário Etapa 1: Verificar os acessórios

Sumário Etapa 1: Verificar os acessórios Este Guia Rápido do Usuário ajuda você a começar a usar o scanner IRIScan Pro 3 Cloud. Esse scanner é fornecido com os aplicativos de software Readiris Corporate 14 (PC e Mac), Cardiris Corporate 5 for

Leia mais

O que há de novo. Audaces Idea

O que há de novo. Audaces Idea O que há de novo Audaces Idea Com o propósito de produzir tecnologia de ponta, o principal requisito da Política de Qualidade da Audaces é buscar a melhoria contínua de seus produtos e serviços. Inovadora

Leia mais

Manual AGENDA DE BACKUP

Manual AGENDA DE BACKUP Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu

Leia mais

Manual Equipamento ST10 Flasher Rev. 1

Manual Equipamento ST10 Flasher Rev. 1 Maio de 2014 2 Sumário Introdução:... 3 Acessórios utilizados:... 4 Instalação:... 5 Abrindo e Conhecendo o Software:... 10 SET PORT... 11 RELOAD MONITOR... 13 BlankCheck... 14 ERASE FLASH... 14 DUMP...

Leia mais

ProGriD. Manual de Instalação

ProGriD. Manual de Instalação ProGriD Manual de Instalação IBGE Instituto Brasileiro de Geografia e Estatística Avenida Brasil, 15671 Rio de Janeiro, RJ 21241-051 Brasil Junho de 2009 Diferença entre versões anteriores a este documento

Leia mais

Curso Básico de Visual FoxPro 8.0

Curso Básico de Visual FoxPro 8.0 AULA Curso Básico de Visual FoxPro 8.0 Nosso curso de Visual FoxPro é voltado para pessoas iniciantes com a ferramenta. Por isso, requer que comecemos realmente do princípio. Sendo assim, vamos começar

Leia mais

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL

Leia mais

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

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

Celebre este natal e ano novo junto aos seus amigos e familiares distantes.

Celebre este natal e ano novo junto aos seus amigos e familiares distantes. Celebre este natal e ano novo junto aos seus amigos e familiares distantes. Receba fotos e mensagens deles na TV de sua casa em tempo real e sem custo, não se preocupe mais com a distância! A festa será

Leia mais

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público 2015. Caderno 1.

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público 2015. Caderno 1. Caderno 1 Índice MS-Windows 7: conceito de pastas, diretórios, arquivos e atalhos, área de trabalho, área de transferência, manipulação de arquivos e pastas, uso dos menus, programas e aplicativos, interação

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

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

CURSO DE INFORMÁTICA BÁSICA AULA 2 O AMBIENTE WINDOWS

CURSO DE INFORMÁTICA BÁSICA AULA 2 O AMBIENTE WINDOWS CURSO DE INFORMÁTICA BÁSICA AULA 2 O AMBIENTE WINDOWS Relembrando... Gabinete Ligando o computador São três passos básicos O ambiente Windows O Windows é um tipo de software chamado sistema operacional

Leia mais

1 UNIT Universidade do Trabalhador Dr. Abel dos Santos Nunes

1 UNIT Universidade do Trabalhador Dr. Abel dos Santos Nunes 1 UNIT Universidade do Trabalhador Dr. Abel dos Santos Nunes Janelas são estruturas do software que guardam todo o conteúdo exibido de um programa, cada vez que um aplicativo é solicitado à janela do sistema

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

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no

Leia mais

Aula 03 PowerPoint 2007

Aula 03 PowerPoint 2007 Aula 03 PowerPoint 2007 Professor: Bruno Gomes Disciplina: Informática Básica Curso: Gestão de Turismo Sumário da aula: 1. Abrindo o PowerPoint; 2. Conhecendo a Tela do PowerPoint; 3. Criando uma Nova

Leia mais

COMO USAR DOIS MONITORES NO WINDOWS 8

COMO USAR DOIS MONITORES NO WINDOWS 8 COMO USAR DOIS MONITORES NO WINDOWS 8 Trabalhar com dois monitores no Windows tem diversas utilidades. Dentre elas podemos destacar a possibilidade de visualizar mais itens ao mesmo tempo, exibir o conteúdo

Leia mais

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática ( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO

Leia mais

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Links importantes http://www.android.com/ Site oficial de toda a documentação, downloads e informações sobre a plataforma. http://developer.android.com/

Leia mais

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery Sistemas Operacionais Curso Técnico Integrado Profa: Michelle Nery Conteúdo Programático Virtual Box Instalação do Virtual Box Instalação do Extension Pack Criando uma Máquina Virtual Instalando o Windows

Leia mais

Inicialização Rápida do Novell Messenger 3.0.1 Móvel

Inicialização Rápida do Novell Messenger 3.0.1 Móvel Inicialização Rápida do Novell Messenger 3.0.1 Móvel Maio de 2015 O Novell Messenger 3.0.1 e posterior está disponível para seu dispositivo móvel ios, Android BlackBerry suportado. Como é possível efetuar

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

CONFIGURAÇÃO MINIMA EXIGIDA:

CONFIGURAÇÃO MINIMA EXIGIDA: Este tutorial parte do princípio que seu usuário já possua conhecimentos básicos sobre hardware, sistema operacional Windows XP ou superior, firewall, protocolo de rede TCP/IP e instalação de software.

Leia mais

Introdução à Informática Professor: Juliano Dornelles

Introdução à Informática Professor: Juliano Dornelles Pra que serve o computador? O computador é uma extensão dos sentidos humanos. Pode ser utilizado no trabalho, nos estudos e no entretenimento. Com finalidades de interação, comunicação, construção de conteúdo,

Leia mais

DocuWare Mobile ProductInfo. Gerenciamento móvel de documentos. Benefícios

DocuWare Mobile ProductInfo. Gerenciamento móvel de documentos. Benefícios DocuWare Mobile ProductInfo Gerenciamento móvel de documentos O DocuWare Mobile permite acessar os gabinetes de arquivo do DocuWare diretamente em seu smartphone ou tablet. Você pode carregar, visualizar

Leia mais

Tutorial Rápido para Quizlet - em português!

Tutorial Rápido para Quizlet - em português! Tutorial Rápido para Quizlet - em português! Site: Quizlet.com 1. Fazendo login Há duas formas de se fazer login no Quizlet: Login pelo facebook - Se você já tem uma conta no Facebook, não precisa criar

Leia mais

Microsoft Access: Criar relatórios para um novo banco de dados. Vitor Valerio de Souza Campos

Microsoft Access: Criar relatórios para um novo banco de dados. Vitor Valerio de Souza Campos Microsoft Access: Criar relatórios para um novo banco de dados Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: O produto final Lição: Inclui oito seções Tarefas práticas sugeridas Teste Visão

Leia mais

5.3.3.5 Lab - Monitorar e Gerenciar os Recursos do Sistema no Windows 7

5.3.3.5 Lab - Monitorar e Gerenciar os Recursos do Sistema no Windows 7 IT Essentials 5.0 5.3.3. - Monitorar e Gerenciar os Recursos do Sistema no Windows 7 Introdução Imprima e preencha este laboratório. Neste laboratório, você vai usar as ferramentas administrativas para

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

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz SISTEMAS OPERACIONAIS LIVRES Professor Carlos Muniz Atualizar um driver de hardware que não está funcionando adequadamente Caso tenha um dispositivo de hardware que não esteja funcionando corretamente

Leia mais

Sessão Prática: Oficina de Robótica com NI LabVIEW e LEGO Mindstorms NXT

Sessão Prática: Oficina de Robótica com NI LabVIEW e LEGO Mindstorms NXT Sessão Prática: Oficina de Robótica com NI LabVIEW e LEGO Mindstorms NXT LabVIEW e NXT Hardware Necessário: LEGO MINDSTORMS NXT Software Necessário: LabVIEW Módulo NXT Exercício 1: Atualização de firmware

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: Verificando data e hora, desligando o computador, janelas, copiar colar, excluindo um arquivo. Prof: Lucas Aureo Guidastre Verificando data

Leia mais

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados Tutorial Plone 4 Manutenção de Sites Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados Sumário Introdução 1 Como fazer a autenticação do usuário 1.1 Através do

Leia mais

Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar. com o CMS.

Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar. com o CMS. Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar com o CMS. 5 Removendo o Cliente. Playlist 7 Criando um Playlist. 8 Adicionando

Leia mais