Neste artigo vou criar um jogo simples, porém completo em silverlight. O jogo será de nave controlada pelo jogador, vai atirar em seus inimigos, que ao serem atingidos, explodem e com isso a pontuação do jogador no jogo aumenta.
Para que serve
O artigo vai apresentar noções básicas para você iniciar no mundo dos jogos usando a plataforma silverlight. O leitor ao final do artigo poderá criar um novo game ou até mesmo continuar e aperfeiçoar o jogo do tutorial.
Em que situação o tema é útil
O desenvolvimento de jogos está em alta no momento, em constante crescimento, esse mercado pode proporcionar negócios na área de educação e entretenimento, além de divertido, o mundo dos games pode se tornar lucrativo.
Resumo do DevMan
O artigo apresenta como desenvolver um jogo completo utilizando a tecnologia silverlight da Microsoft. O game desenvolvido no artigo será um jogo de nave, onde o usuário através do teclado vai comandar uma nave e poderá atirar em seus inimigos. Cada inimigo atingido aumenta a pontuação do jogador no game, quando o jogador é atingido pelo inimigo, o game finaliza.
A tecnologia silverlight está evoluindo de forma muita rápida, em julho a versão final do silverlight 3 foi disponibilizada e já em novembro a versão 4, ainda beta, já está disponível para download somente para os desenvolvedores. Houve a inclusão de diversas melhorias nesta última versão, mas para que você possa desenvolver o game e publicar imediatamente na internet, utilizarei o silverlight 3 juntamente com o visual Studio 2008 e o Microsoft Expression Blend 3.
Com o mercado de games em alta, desenvolver jogos pode ser uma forma interessante de fazer negócios. Na área de jogos educativos, cada vez mais a tecnologia está auxiliando os professores a ensinar de uma forma diferente e criativa seus alunos, e para essa finalidade os games são uma alternativa interessante. Já na área de entretenimento os jogos sempre tiveram seu espaço, podendo ser somente para diversão ou até mesmo para promover uma marca.
O artigo não tem o objetivo de ensinar todas as técnicas de desenvolvimento de jogos, criar um jogo exige criatividade e não existe uma receita passo a passo onde você possa criar qualquer tipo de jogo. Neste exemplo vamos criar um jogo de nave simples com o básico para que o leitor possa continuá-lo e aperfeiçoar caso queira. Esse tipo de jogo é muito comum na internet, onde uma nave controlada pelo usuário trava uma batalha no espaço com centenas de inimigos.
Resumidamente o desenvolvimento do jogo é dividido em etapas, primeiro criamos um ambiente de looping, onde os objetos do game serão animados (movimentados), em seguida vamos adicionar o fundo do jogo com um movimento suave, adicionamos a nave controlada pelo jogador, inserimos os códigos que permitem movimentar a nave através do teclado, e na sequência vamos criar os métodos para que a nave atire através da tecla space do teclado, adicionamos os inimigos, incluímos um forma de identificar colisões entre a nave, os inimigos e os tiros e por fim, controlamos a pontuação do jogador no game.
Iniciando o projeto
Vamos iniciar o desenvolvimento do jogo, abra um novo projeto silverlight no visual Studio 2008, para isso clique em Create Project>Silverlight>Silverlight Application. Dê o nome de SilverlightGame, no arquivo criado MainPage.xaml, o Usercontrol e o layout Grid foram criados automaticamente pelo Visual Studio, nas propriedades do Usercontrol d:DesignWidth="640" e d:DesignHeight="480", modifique os valores para d:DesignWidth="1024" e d:DesignHeight="700", aumentando a tela do jogo em relação a tamanho e altura respectivamente.
Ambiente do jogo
Para que o jogo possa apresentar na tela todas as mudanças que ocorrem durante o game vamos criar um ambiente de looping, esse ambiente no silverlight pode ser feito através de um recurso chamado Storyboard. Storyboard é um classe em silverlight que permite controlar animações com uma linha do tempo e permite animar as propriedades de alguns elementos em silverlight.
Abra o arquivo MainPage.xaml.cs e vamos iniciar a codificação em C# .NET, adicione uma variável do tipo storyboard com o nome de _ambiente, conforme a Listagem 1.
Listagem 1. Storyboard
1 public partial class MainPage : UserControl {
2 Storyboard _ambiente;
3 public MainPage()
4 {
5 InitializeComponent();
6 }
7 }
Adicione um evento Loaded no arquivo MainPage.xaml.cs, para isso, logo abaixo do InitializeComponente(), digite, Loaded += e aperte a tecla tab duas vezes em seguida. Pronto, o código da Listagem 2 foi criado.
Listagem 2. Método MainPage_Loaded
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
throw new NotImplementedException();
}
Esse método será chamado assim que a aplicação for executada, remova a linha throw new NotImplementedException().
Agora vamos criar um método chamado CriarAmbiente, o objetivo é criar um ambiente de looping, onde a tela é atualizada constantemente, gerando um ambiente ideal para as movimentações de um game, o código do método pode ser visto na Listagem 3.
Listagem 3. Criando o ambiente do jogo
1 public void CriaAmbiente()
2 {
3 //Cria uma instância de uma Storyboard
4 _ambiente = new Storyboard();
5 //Seta um nome para o elemento
6 _ambiente.SetValue(FrameworkElement.NameProperty, "ambiente");
7
8 //adiciona o storybord ao resources do MainPage
9 this.Resources.Add("ambiente", _ambiente);
10
11 // Evento que é executado após o storyboad finalizar
12 // para criar basta digitar _ambiente.Completed += {tab} 2x
13 _ambiente.Completed += new EventHandler(_ambiente_Completed);
14
15 //Inicia o storyboard
16 _ambiente.Begin();
17
18 }
19
20 void _ambiente_Completed(object sender, EventArgs e)
21 {
22 //Após a conclusão do storyboard ele
23 //automaticamente reinicia criando
24 //um loop infinito
25 _ambiente.Begin();
26
27 }
...
Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.