Blog oficial da célula acadêmica do Instituto Mauá de Tecnologia...
Arquivo

O que já foi esquecido

setembro 2007

Uma caracteriza da versão atual do XNA (1.0 refresh) é que ele não suporta joystick que não sejam da Microsoft, isso significa, se não for o GamePad do Xbox 360 o seu jogo não vai reconhecer o joystick apenas com a classe “GamePad” e “GamePadState”, para isso vasculhamos a internet em busca de soluções para este problema e achamos diversas soluções, todas elas envolvendo o DirectX, como o código é meio complicado, e repetitivo, desenvolvemos uma biblioteca para que não seja preciso se preocupar com isso. Esta biblioteca somente detecta um controle, e não ativa o DualShock de alguns controles que contém esta característica.

Aqui tem o link onde vc pode baixar o código fonte dessa biblioteca:

Download

Lembrando que para este código funcionar corretamente é preciso desabilitar o LoaderLock no Debug, indo em Debug->Exceptions...; abra a arvore “Managed Debugging Assistants”, e remova o check do item “LoaderLock”.



Abaixo irei explicar a biblioteca bem por cima, só para se entender um pouco do que ela faz:

Classe Joystick
Esta classe contem duas funções fundamentais, InitDirectInput() e GetData().
A função InitDirectInput() inicia os comandos do DirectX, uma das grades diferenças do XNA para o DirectX é que algumas partes de parametrização e configurações iniciais já estão prontas, facilitando muito o desenvolvimento.
A função GetData() carrega os dados do Joystick.
Porem tanto o InitDirectInput como o GetData são exclusivos da classe, mas se vc tiver interesse em alterar o código para inserir funcionalidade novas, é nesta área que recomendo mexer, e claro, passe o código de novo para mim =D...
Classe JoystickStates
Esta classe contém os valores do Joystick sendo que contém os eixos X, Y e Z, mais os valores dos botões, para se pegar os valores dos eixos basta chamar as variáveis de mesmo nome em um objeto declarado como JoystickStates, lembrando que os valores dos eixos variam de 1000 a -1000, sendo que quando o analógico esta desativado os eixos X e Y recebem o direcional variando binariamente entre 1000, 0, -1000, sem variações no meio do caminho.
E para testar os valores dos botões existe a função IfButtom(int Buttom) que testa botão por botão, isso é, no parâmetro Buttom vc entra com o valor do botão que deseja adquirir (normalmente isso vem gravado no joystick) e ele te retorna um boleano informando se o botão esta pressionado (True) ou não (False).

Abaixo seque um exemplo de como utilizar:
1-) Abra e compile o código que esta como exemplo.

2-) Vc ira ver que dentro da pasta \bin\Debug na pasta do programa ira ter uma DLL, guarde o caminho pra esta DLL.

3-) Abra o seu programa ou um programa novo, no Solution Explorer click com o botão direto sobre o nome do seu programa como na figura abaixo e click na aba “Add Reference” (isso fará o VC# adicionar uma referencia de um outro programa em dotNet, no nosso caso, vamos adicionar aquela DLL que criamos)



4-) Na janela que abriu click na aba “Browse” e selecione a pasta do programa como na imagem abaixo, depois disso click na DLL e click em OK.




5-) Agora a DLL faz parte do programa, porem vc tem que chamá-la em todos as classes que vc for usa-la, e para isso nas primeira linhas digite o seguinte código:
using XnaMaua;

6-) Depois implemente um objeto na classe Game1 assim:
Joystick Controle;

7-) Depois na função Initialize() insira o código abaixo, isso fará com que o Joystick seja reconhecido pelo jogo.
Controle = new Joystick();

8-) Vá na função Update() e insira esta linha:
JoystickStates Controle1 = Controle.GetStates();

9-) Agora use o Objeto Controle1 para pegar os valores do Joystick como pro exemplo:
int eixoX = Controle1.X; int eixoY = Controle1.Y;

Marcadores: ,


  Um post de Mago Matematico
  As 14:56 no dia sexta-feira, 21 de setembro de 2007

  Deixe seu comentario tb, 0 já deixaram, » Click aqui...


Se vc gosta de micros de alta performance para jogos ou para edição gráfica e não quer perder tempo e paciência montando seu micro, seus problemas acabaram... rs
A Dell a um tempo lançou no Brasil a linha XPS, que são micros de alta performance para os Gamers, o pessoal que faz edição gráfica ou quem queira tem um micro foda em casa
Já existindo o anos no EUA, a linha XPS é um concorrente direto ao Alienware que não tem representação no Brasil (infelizmente), e é o único micro comercial no Brasil que trás a placa aceleradora física como opcional.
Para quem esteja intereçado em comprar,o link para o site da Dell

Marcadores: ,


  Um post de Mago Matematico
  As 07:59 no dia quarta-feira, 19 de setembro de 2007

  Deixe seu comentario tb, 0 já deixaram, » Click aqui...

Para se fazer um jogo a textura é algo muito importante, e para isso os programadores como eu não tem o menos dom, mas mesmo vc que não tem dom artístico pode se aventurar em fazer alguma coisa legal, e o melhor, muito legal, neste tutorial que eu pro acidente achei na net ele mostra como fazer uma textura de alto padrão usando o photoshop:

Textura com Photoshop

O tutorial diz que é avançado, mas acho que qualquer um que tenha uma boa noção de algum editor de imagem (tipo o paint) conseque entender de boa este tutorial

Marcadores: ,


  Um post de Mago Matematico
  As 07:01

  Deixe seu comentario tb, 0 já deixaram, » Click aqui...

Ele vive \o/... Yataaa, depois de pegar um tutorial muito bom de como criar texturas com o photoshop (nada como utilizar a ferramenta certa), eu conseguir dá o pulo final para a criação do meu jogo, agora tenho imagens e tenho noção da programação... o que fazer??? Começar o programa do zero de novo =P... nada melhor para consertar erros do passado do que não cometemos no futuro, pela linha de programas que eu tenho feito, refazer é a melhor coisa pra criar um bem feito, pena que nem todo caso dá pra fazer isso =(...
Mas deixe estar, agora tenho imagens novas do meu jogo:




Marcadores: , ,


  Um post de Mago Matematico
  As 17:06 no dia terça-feira, 18 de setembro de 2007

  Deixe seu comentario tb, 0 já deixaram, » Click aqui...

Para aqueles que duvidaram da minha capacidade de desenhar, vcs estão certos, e não sei desenhar mesmo, mas pra tudo a gente dá um jeito =D... fiz um esboço na mão que até minha mãe falou que esta desproporcional e estranho, daí depois no Visio, sim, Microsoft Office Visio (cada um usa o que sabe) eu vetorizei o carrinho e editei no photoshop, ainda falta fazer umas frescuras na imagem, mas pra quem desenhou um pingüim ornitorrinco isso ta bom de mais...





Marcadores: , ,


  Um post de Mago Matematico
  As 17:06

  Deixe seu comentario tb, 0 já deixaram, » Click aqui...

Vc sabe o que é uma placa física?
Não... pois bem, a AGEIA lançou a um bom tempo (relativo a internet) um chip de PPU (Physics Processing Unit ou Unidade de Processamento Fisico) este chip pode ser considerado como os antigos co-processadores matématicos (fala serio quem nunca quis um 486DX2 com co-processador matématico imporporado... uma maquina) a função do chip é realizar calculos fisicos de forma interativa para aliviar a carga do processador, em parte o modelamento matematico que seria executado pelo processador é desviado para a PPU e depois retransmitido pra GPU para que os objetos sejam impressos na tela... sensancional... agora só falta as SoftHouses começarem a produzir jogos que usem esta nova tecnologia e todo mundo entrar nesta mescalina.



Marcadores: ,


  Um post de Mago Matematico
  As 17:04

  Deixe seu comentario tb, 0 já deixaram, » Click aqui...


Todos direitos autorais reservados a Maua#®
Maua | BadNerds | Microsoft | Google