XI ERBASE
MC06:
Interação em Jogos eletrônicos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
2
Roteiro
●
Parte I: Interface Homem Computador e jogos
eletrônicos
●
Parte II: Como o Wiimote funciona
●
Parte III: Projetos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
3
Objetivo geral
●
Capacitar o público a utilizar o Wiimote como
XI ERBASE MC 06: Interação em Jogos Eletrônicos
4
Objetivos específicos
●
Apresentar conceitos de IHC e programação
●
Descrever a evolução da interação na indústria
de jogos
●
Mostrar os detalhes de funcionamento e
utilização do Wiimote
●
Implementar um projeto de exemplo
●
Exibir possibilidades de projetos baseados no
XI ERBASE MC 06: Interação em Jogos Eletrônicos
5
Sobre os autores
●
Pedro Neves
●
Aluno do curso de Ciência da Computação (UFAL)
●
Membro do LAMP
●
Bolsista de Iniciação Tecnológica
●
Wellington Batalha
●
Aluno do curso de Ciência da Computação (UFAL)
●
Membro do LAMP
XI ERBASE MC 06: Interação em Jogos Eletrônicos
6
Sobre os autores
●
Alexandre Barbosa
●
Bacharel em Ciência da Computação (UFAL)
●
Mestre em Ciência da Computação (UFCG)
●
Professor Assistente I na UFAL Arapiraca
–
Coordenador do L.A.M.P, L.E.C.C e G.E.D.A.I
●
Áreas de atuação:
–
Engenharia de Software
XI ERBASE MC 06: Interação em Jogos Eletrônicos
7
Sobre os autores
XI ERBASE MC 06: Interação em Jogos Eletrônicos
8
Sobre os autores
●
E...
XI ERBASE MC 06: Interação em Jogos Eletrônicos
9
Sobre vocês...
●
IES...?
●
Programação...?
XI ERBASE MC 06: Interação em Jogos Eletrônicos
10
Parte I
Interface Homem
Computador (IHC)
e
XI ERBASE MC 06: Interação em Jogos Eletrônicos
11
IHC e Jogos
O sistema ideal
“The ideal system so buries the technology that the user
is not even aware of its presence. The goal is to let
people get on their activities, with the technology
enhancing their productivity, their power, and their
enjoyment, ever the more so because it is invisible, out of
sight, out of mind. ”
XI ERBASE MC 06: Interação em Jogos Eletrônicos
12
IHC e Jogos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
13
IHC e Jogos
O que é interface?
“uma interface é uma superfície de contato que reflete as
propriedades físicas das partes que interagem, as funções a
serem executadas e o balanço entre poder e controle”
XI ERBASE MC 06: Interação em Jogos Eletrônicos
14
IHC e Jogos
O que é interface?
XI ERBASE MC 06: Interação em Jogos Eletrônicos
15
IHC e Jogos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
16
IHC e Jogos
O que é IHC?
“IHC é a disciplina preocupada com o design, avaliação e
implementação de sistemas computacionais interativos para
uso humano e com o estudo dos principais fenômenos ao redor
deles”
XI ERBASE MC 06: Interação em Jogos Eletrônicos
17
IHC e Jogos
O que é IHC?
IHC
Computação Engenharias Sociologia Psicologia Design Inteligência artificial Ergonomia LinguísticaXI ERBASE MC 06: Interação em Jogos Eletrônicos
18
IHC e Jogos
IHC e a computação
●
Desenvolvimento de software
●
explorar maneiras para melhorar a representação
da informação e a captura de dados
●
Desenvolvimento de hardware
●
buscar alternativas de dispositivos de interação (ex.
XI ERBASE MC 06: Interação em Jogos Eletrônicos
19
IHC e Jogos
IHC e a computação
●
Disciplina de IHC na computação:
●
apenas uma disciplina obrigatória na área de IHC;
●
apenas uma disciplina eletiva na área de IHC;
●
tópicos de IHC em disciplinas de Engenharia de
Software;
●
uma disciplina básica obrigatória de IHC seguida
por disciplinas eletivas na área;
●
disciplinas da área a serem efetuadas pelos alunos
que escolherem ênfase em IHC.
XI ERBASE MC 06: Interação em Jogos Eletrônicos
20
IHC e Jogos
IHC e a computação
XI ERBASE MC 06: Interação em Jogos Eletrônicos
21
IHC e Jogos
IHC e a computação
XI ERBASE MC 06: Interação em Jogos Eletrônicos
22
IHC e Jogos
IHC e a computação
Engenheiro de software Engenheiro de civil
XI ERBASE MC 06: Interação em Jogos Eletrônicos
23
IHC e Jogos
IHC e a computação
Engenheiro de software Engenheiro de civil
- Preocupa-se com estrutura - Preocupa-se com manutenção
- Preocupa-se com qualidade do código - ...
- Preocupa-se com estrutura - Preocupa-se com manutenção
- Preocupa-se com qualidade de materiais - ...
Engenheiro de interação Arquiteto
- Preocupa-se com design
- Preocupa-se com o modo como as pessoas utilizarão o sistema
- ...
- Preocupa-se com design
- Preocupa-se com o modo como as pessoas utilizarão o ambiente
XI ERBASE MC 06: Interação em Jogos Eletrônicos
24
IHC e Jogos
IHC e a computação
●
Por que IHC é importante para computação?
●
Para poupar tempo...
●
Por que o que o usuário usa é a interface...
●
Mudanças custam caro...
XI ERBASE MC 06: Interação em Jogos Eletrônicos
25
IHC e Jogos
IHC e a computação
XI ERBASE MC 06: Interação em Jogos Eletrônicos
26
IHC e Jogos
IHC e a computação
Por que o que o usuário usa é a interface
XI ERBASE MC 06: Interação em Jogos Eletrônicos
27
IHC e Jogos
IHC e a computação
XI ERBASE MC 06: Interação em Jogos Eletrônicos
28
IHC e Jogos
IHC – Processo de design de interface
●
Projeto de interface com o usuário é parte do
projeto de software
●
O processo de design da interface passa
tipicamente por três atividades:
●
Análise de usuário
●
Prototipação de sistema
XI ERBASE MC 06: Interação em Jogos Eletrônicos
29
IHC e Jogos
IHC – Processo de design de interface
●
Análise de usuário
●
listar tarefas e as interações com o usuário
●
Prototipação de sistema
●
Especificar protótipos para facilitar a compreensão
do usuário sobre como executará as tarefas
●
Avaliação de interface
●
coletar informações sobre a experiência do usuário
XI ERBASE MC 06: Interação em Jogos Eletrônicos
30
IHC e Jogos
IHC – Processo de design de interface
●
Para o projeto de UI devem ser considerados:
●
Fatores humanos (Ergonomia)
●
Princípios de projeto de interface
XI ERBASE MC 06: Interação em Jogos Eletrônicos
31
IHC e Jogos
IHC – Fatores humanos
●
Características do homem como processador
de informações:
●
Memória;
●
Resolução de problemas;
●
Percepção;
XI ERBASE MC 06: Interação em Jogos Eletrônicos
32
IHC e Jogos
IHC – Fatores humanos
●
Memória:
●
Pessoas tem memória limitada. Não podemos
lembrar instantaneamente de 7 (+ou- 2) itens de
informação
●
Recomendação: Não apresente ao usuário grandes
XI ERBASE MC 06: Interação em Jogos Eletrônicos
33
IHC e Jogos
IHC – Fatores humanos
●
Resolução de problemas:
●
Pessoas cometem erros. Eventualmente um
usuário irá cometer um erro, e esta taxa tende a
aumentar sob estresse
●
Recomendações:
–
Forneça mensagens de erro úteis ao usuário;
–Possibilite retorno a um estado correto;
XI ERBASE MC 06: Interação em Jogos Eletrônicos
34
IHC e Jogos
IHC – Fatores humanos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
35
IHC e Jogos
IHC – Fatores humanos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
36
IHC e Jogos
IHC – Fatores humanos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
37
IHC e Jogos
IHC – Fatores humanos
●
Percepção e Habilidades motoras:
●
Pessoas possuem diferentes níveis de percepção
(cor, profundidade, som, …) e diferentes
capacidades motoras.
●
Recomendações:
–
Projete considerando a média geral dos
usuários
;
–Não projete para você;
XI ERBASE MC 06: Interação em Jogos Eletrônicos
38
IHC e Jogos
IHC – Princípios de projeto de interface
●
Ergomonia é a base para os princípios de projeto
de interface
●
Estes princípios são gerais e servem para
diversos tipos de interface
●
Alguns dos princípios de projeto de interface são:
●
Familiaridade com o usuário
●
Consistência
●
Mínimo de surpresa
XI ERBASE MC 06: Interação em Jogos Eletrônicos
39
IHC e Jogos
IHC – Princípios de projeto de interface
●
Familiaridade com o usuário
●
Devem ser utilizados termos e representações
XI ERBASE MC 06: Interação em Jogos Eletrônicos
40
IHC e Jogos
IHC – Princípios de projeto de interface
XI ERBASE MC 06: Interação em Jogos Eletrônicos
41
IHC e Jogos
IHC – Princípios de projeto de interface
●
Consistência
●
Operações semelhantes devem ser ativadas da
mesma maneira
Consistência: clique vira a carta em qualquer um dos estados Verso
Frente Clique
XI ERBASE MC 06: Interação em Jogos Eletrônicos
42
IHC e Jogos
IHC – Princípios de projeto de interface
●
Mínimo de surpresa
●
Ações semelhantes devem ter efeitos equivalentes
Ganhar e perder pontos.
XI ERBASE MC 06: Interação em Jogos Eletrônicos
43
+1
IHC e Jogos
IHC – Princípios de projeto de interface
●
Facilidade de recuperação
●
Deve-se incluir mecanismos que permitam ao
usuário recuperação a partir de erros.
+1
-2
XI ERBASE MC 06: Interação em Jogos Eletrônicos
44
IHC e Jogos
IHC – Meios de interação do usuário
●
Duas questões aparecem ao se projetar uma
interface com o usuário:
●
Como as informações podem, a partir do usuário,
ser fornecidas ao sistema de computador?
●
Como as informações do computador podem ser
XI ERBASE MC 06: Interação em Jogos Eletrônicos
45
IHC e Jogos
IHC – Meios de interação do usuário
●
Estilos de interação:
●
Manipulação direta;
●
Seleção de menu;
●
Preenchimento de formulários;
●
Linguagens de comandos;
●
Linguagem natural.
XI ERBASE MC 06: Interação em Jogos Eletrônicos
46
IHC e Jogos
IHC – Meios de interação do usuário
XI ERBASE MC 06: Interação em Jogos Eletrônicos
47
IHC e Jogos
IHC – Meios de interação do usuário
XI ERBASE MC 06: Interação em Jogos Eletrônicos
48
IHC e Jogos
IHC – Meios de interação do usuário
XI ERBASE MC 06: Interação em Jogos Eletrônicos
49
IHC e Jogos
IHC – Meios de interação do usuário
XI ERBASE MC 06: Interação em Jogos Eletrônicos
50
IHC e Jogos
Usabilidade
Atributos de aceitabilidade de um sistema (Adaptado de Nielsen, 1993)
Aceitabilidade do sistema Aceitabilidade prática Aceitabilidade social
Custo, confiabilidade, compatibilidade, ... Utilidade
Usabilidade
Fácil de aprender Eficiente
XI ERBASE MC 06: Interação em Jogos Eletrônicos
51
IHC e Jogos
Usabilidade
●
Qualidade de software
●
Normas ISO 9126 / NBR 13596
–
Funcionalidade (satisfaz as necessidades?)
–Confiabilidade ( é imune a falhas?)
–
Usabilidade ( é fácil de usar?)
–Eficiência (é rápido e “enxuto”?)
–
Manutenibilidade (é fácil de modificar?)
XI ERBASE MC 06: Interação em Jogos Eletrônicos
52
IHC e Jogos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
53
IHC e Jogos
IHC – Processo de design de interface
●
Um ou alguns minicursos seriam necessários
para descrever detalhadamente as atividades
de design de interface
●
Como bibliografia sobre
XI ERBASE MC 06: Interação em Jogos Eletrônicos
54
IHC e Jogos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
55
IHC e Jogos
Consoles
●
1ª e 2ª Geração(?) - Atari
●
3ª Geração(8 bits) - Nintendo e MasterSystem
●
4ª Geração(16 bits) - SNes e MegaDrive
●
5ª Geração(32/64 bits) - PlayStation (PS)
●
6ª Geração(128 bits) - PS2, Xbox e GameCube
XI ERBASE MC 06: Interação em Jogos Eletrônicos
56
IHC e Jogos
Usabilidade em jogos eletrônicos
a) apertando botões
b) movendo o volante
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
57
IHC e Jogos
Usabilidade em jogos eletrônicos
a)
apertando botões
b) movendo o volante
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
58
IHC e Jogos
Usabilidade em jogos eletrônicos
a) apertando botões
b) movendo o volante
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
59
IHC e Jogos
Usabilidade em jogos eletrônicos
a) apertando botões
b)
movendo o volante
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
60
IHC e Jogos
Usabilidade em jogos eletrônicos
a) apertando botões
b) movendo os braços
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
61
IHC e Jogos
Usabilidade em jogos eletrônicos
a)
apertando botões
b) movendo os braços
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
62
IHC e Jogos
Usabilidade em jogos eletrônicos
a) apertando botões
b) movendo os braços
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
63
IHC e Jogos
Usabilidade em jogos eletrônicos
a) apertando botões
b)
movendo os braços
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
64
IHC e Jogos
Usabilidade em jogos eletrônicos
a) apertando botões
b) movendo os braços
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
65
IHC e Jogos
Usabilidade em jogos eletrônicos
a)
apertando botões
b) movendo os braços
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
66
IHC e Jogos
Usabilidade em jogos eletrônicos
a) apertando botões
b) movendo os braços
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
67
IHC e Jogos
Usabilidade em jogos eletrônicos
a)
Melhor que o Guga
b) Não sei jogar
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
68
IHC e Jogos
Usabilidade em jogos eletrônicos
a)
Melhor que o Nadal
b) Não sei jogar
c) n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
69
IHC e Jogos
Usabilidade em jogos eletrônicos
a)
apertando botões
b)
movendo os braços
c)
n. d. a
XI ERBASE MC 06: Interação em Jogos Eletrônicos
70
IHC e Jogos
Usabilidade em jogos eletrônicos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
71
IHC e Jogos
Usabilidade em jogos eletrônicos
Controle e jogo do Atari (1977)
XI ERBASE MC 06: Interação em Jogos Eletrônicos
72
IHC e Jogos
Usabilidade em jogos eletrônicos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
73
IHC e Jogos
Usabilidade em jogos eletrônicos
Controle e jogo do Playstation
XI ERBASE MC 06: Interação em Jogos Eletrônicos
74
IHC e Jogos
Usabilidade em jogos eletrônicos
Controle e jogo do Playstation
XI ERBASE MC 06: Interação em Jogos Eletrônicos
75
IHC e Jogos
Usabilidade em jogos eletrônicos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
76
IHC e Jogos
Usabilidade em jogos eletrônicos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
77
IHC e Jogos
Usabilidade em jogos eletrônicos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
78
IHC e Jogos
Usabilidade em jogos eletrônicos
Apertando
ψ
ele pulava... por que agora ele escalou???XI ERBASE MC 06: Interação em Jogos Eletrônicos
79
IHC e Jogos
Usabilidade em jogos eletrônicos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
80
IHC e Jogos
Usabilidade em jogos eletrônicos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
81
IHC e Jogos
Usabilidade em jogos eletrônicos
Para usar o dragon puch super paper cut use …
◄▼► + ■
XI ERBASE MC 06: Interação em Jogos Eletrônicos
82
IHC e Jogos
Usabilidade em jogos eletrônicos
Para usar o dragon puch super paper cut use …
◄▼► + ■
Calcule ∫ ∂x/∂y
♫ ¥
XI ERBASE MC 06: Interação em Jogos Eletrônicos
83
IHC e Jogos
7ª Geração - Interação
XI ERBASE MC 06: Interação em Jogos Eletrônicos
84
IHC e Jogos
7ª Geração - Interação
XI ERBASE MC 06: Interação em Jogos Eletrônicos
85
IHC e Jogos
7ª Geração - Interação
A Sony aderiu a revolução...
XI ERBASE MC 06: Interação em Jogos Eletrônicos
86
IHC e Jogos
7ª Geração - Interação
XI ERBASE MC 06: Interação em Jogos Eletrônicos
87
IHC e Jogos
7ª Geração - Interação
Microsoft aderiu a revolução...
XI ERBASE MC 06: Interação em Jogos Eletrônicos
88
IHC e Jogos
7ª Geração - Interação
XI ERBASE MC 06: Interação em Jogos Eletrônicos
89
Parte II
XI ERBASE MC 06: Interação em Jogos Eletrônicos
90
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
91
Como o Wiimote funciona
O Wiimote
Wiimote ou Wii Remote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
92
Como o Wiimote funciona
O Wiimote
Wiimote ou Wii Remote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
93
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
94
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
95
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
96
Como o Wiimote funciona
O Wiimote
●
O Wiimote é o controle principal do console Wii
●
Controle auxiliar é chamado de “Nunchuck”
●
O Wiimote possui:
●
Câmera infravermelha, Acelerômetro e
Botões de ação
●
O Nunchuck possui um sensor:
XI ERBASE MC 06: Interação em Jogos Eletrônicos
97
Como o Wiimote funciona
O Wiimote
Wiimote por dentro
XI ERBASE MC 06: Interação em Jogos Eletrônicos
98
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
99
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
100
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
101
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
102
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
103
Como o Wiimote funciona
O Wiimote
XI ERBASE MC 06: Interação em Jogos Eletrônicos
104
Como o Wiimote funciona
WmGUI
XI ERBASE MC 06: Interação em Jogos Eletrônicos
105
Como o Wiimote funciona
WmGUI
XI ERBASE MC 06: Interação em Jogos Eletrônicos
106
Como o Wiimote funciona
WmGUI
●
Instalando: WmGUI
XI ERBASE MC 06: Interação em Jogos Eletrônicos
107
Como o Wiimote funciona
Wiimote – Câmera infravermelha
●
Câmera
●
captura a luz infravermelha emitida por algum
XI ERBASE MC 06: Interação em Jogos Eletrônicos
108
Como o Wiimote funciona
Wiimote – Acelerômetro
●
Acelerômetro
●
permite obter
aceleração
em três eixos:
–
vertical (z)
–horizontal (x)
XI ERBASE MC 06: Interação em Jogos Eletrônicos
109
Como o Wiimote funciona
Wiimote – Botões de ação
●
Botões de ação
●
ao pressionar um botão a identificação do botão é
enviada via bluetooth
●
Nossos projetos utilizarão:
●
Botões de ação
XI ERBASE MC 06: Interação em Jogos Eletrônicos
110
Como o Wiimote funciona
Ferramentas: Linguagem Java
XI ERBASE MC 06: Interação em Jogos Eletrônicos
111
Como o Wiimote funciona
Ferramentas: Linguagem Java
// ...
public class WiiApp { // …
if (b.isButtonAJustReleased()) { System.out.println("A"); } // … } JVM JVM JVM JVM ?
XI ERBASE MC 06: Interação em Jogos Eletrônicos
112
Como o Wiimote funciona
Ferramentas: Linguagem Java
●
Instalando: Java Developmente Kit (JDK)
$ sudo add-apt-repository ppa:sun-java-community-team/sun-java6
$ sudo add-apt-repository "deb http://archive.canonical.com/ maverick partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-bin sun-java6-jdk
XI ERBASE MC 06: Interação em Jogos Eletrônicos
113
Como o Wiimote funciona
Ferramentas: IDE Eclipse
●
Instalando: Eclipse
XI ERBASE MC 06: Interação em Jogos Eletrônicos
114
Como o Wiimote funciona
Preparando o ambiente
●
Criando um novo projeto
Utilizem os mesmos nomes dos exemplos, isso irá facilitar as
configurações posteriores.
XI ERBASE MC 06: Interação em Jogos Eletrônicos
115
Como o Wiimote funciona
Preparando o ambiente
XI ERBASE MC 06: Interação em Jogos Eletrônicos
116
Como o Wiimote funciona
Programação orientada a objetos com Java – Primeiro programa
●
Criando uma classe
Primeiro.java
package wiimoteapp.linguagemjava;
public class Primeiro {
public static void main(String[] args) {
System.out.println("Meu primeiro programa Java!"); }
XI ERBASE MC 06: Interação em Jogos Eletrônicos
117
Como o Wiimote funciona
Programação orientada a objetos com Java – Primeiro programa
●
Executando a classe no Eclipse
●
Saída esperada
Primeiro.java
Run > Run as... > Java Application
XI ERBASE MC 06: Interação em Jogos Eletrônicos
118
Como o Wiimote funciona
XI ERBASE MC 06: Interação em Jogos Eletrônicos
119
Como o Wiimote funciona
Programação orientada a objetos com Java – Classes e objetos
WiimoteApp
MemoriaApp TiroApp
XI ERBASE MC 06: Interação em Jogos Eletrônicos
120
Como o Wiimote funciona
Programação orientada a objetos com Java – WiimoteApp
WiimoteApp.java
package erbase;
public class WiimoteApp
extends JFrame implements WiimoteListener {
XI ERBASE MC 06: Interação em Jogos Eletrônicos
121
Como o Wiimote funciona
Programação orientada a objetos com Java – Eventos
●
Um evento pode ser descrito como qualquer
ação que ocorre entre o usuário e a aplicação
●
Pressionar teclas no teclado
●
Pressionar um botão na interface gráfica
●
Clicar o mouse
●
Java possui “
Listeners
” para capturar eventos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
122
Como o Wiimote funciona
Programação orientada a objetos com Java – Eventos
Botão
Botão Me apertaram... Ouvinte 1...
XI ERBASE MC 06: Interação em Jogos Eletrônicos
123
Como o Wiimote funciona
Programação orientada a objetos com Java – WiimoteApp
IdentificartarWiimoteListener.java
package erbase;
public class ConectarWiimoteListener implements ActionListener {
}
package erbase;
public class IdentificartarWiimoteListener implements ActionListener {
}
XI ERBASE MC 06: Interação em Jogos Eletrônicos
124
Como o Wiimote funciona
Programação orientada a objetos com Java – API
XI ERBASE MC 06: Interação em Jogos Eletrônicos
125
Como o Wiimote funciona
Programação orientada a objetos com Java – API
●
“Componentes” são classes com funções
específicas que são utilizados em outros
programas (em Java são arquivos JAR)
●
Alguns exemplos de “componentes”:
●
iText – gerar pdf
●
Jfreechart – gerar gráficos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
126
Como o Wiimote funciona
Preparando o ambiente – Hardware
XI ERBASE MC 06: Interação em Jogos Eletrônicos
127
Como o Wiimote funciona
Preparando o ambiente – Software
Software necessário: Eclipse e API WiiUseJ
XI ERBASE MC 06: Interação em Jogos Eletrônicos
128
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
1º Passo – Adicionar a API WiiUseJ
1.Copie o arquivo
wiiusej.jar
para pasta
lib
2.Clique direito sobre o arquivo
wiiusej.jar
3.Selecione no menu:
XI ERBASE MC 06: Interação em Jogos Eletrônicos
129
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
2º Passo – Copiar arquivos de sistema
1.Copie para raiz do projeto os arquivos:
●
libwiiuse.so
XI ERBASE MC 06: Interação em Jogos Eletrônicos
130
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
3º Passo - Configurar parâmetros de execução
1.No menu
2. Na aba
3.
Adicione o parâmetro para JVM no projeto
Run > Run configurations
Arguments > VM Arguments
-Djava.library.path=/home/alexandre/workspace/ensino/ErbaseGame Os trechos em azul devem ser
XI ERBASE MC 06: Interação em Jogos Eletrônicos
131
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
XI ERBASE MC 06: Interação em Jogos Eletrônicos
132
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
3º Passo - Configurar parâmetros de execução
1.
Na aba
2.
Selecione o botão
3.
Crie a variável
Environment (… ainda na tela “Run configurations...”)
Name: LD_LIBRARY_PATH
Value: /home/alexandre/workspace/ensino/ErbaseGame
XI ERBASE MC 06: Interação em Jogos Eletrônicos
133
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
XI ERBASE MC 06: Interação em Jogos Eletrônicos
134
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
4º Passo – Link de arquivos com a aplicação
1.No terminal execute
$ ln -s /usr/lib/libbluetooth.so.3
/home/alexandre/workspace/ensino/ErbaseGame/libbluetooth.so.2
Todo o comando na mesma linha...
No projeto fornecido execute
XI ERBASE MC 06: Interação em Jogos Eletrônicos
135
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
Todas as classes que precisam se comunicar com o Wiimote devem passar por esta configuração
XI ERBASE MC 06: Interação em Jogos Eletrônicos
136
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
●
Para capturar eventos dos botões
●
Para capturar eventos do acelerômetro
●
Outros eventos não serão citados...
public void onButtonsEvent(WiimoteButtonsEvent b)
XI ERBASE MC 06: Interação em Jogos Eletrônicos
137
Como o Wiimote funciona
Preparando o ambiente – Configurando a execução
●
Para cada botão são fornecidos métodos
isButton?JustPressed()
isButton?JustReleased()
isButton?Held()
isButton?Pressed()
Onde “?” Representa o nome do botão.
XI ERBASE MC 06: Interação em Jogos Eletrônicos
138
Como o Wiimote funciona
Projetos – Jogo da memória
XI ERBASE MC 06: Interação em Jogos Eletrônicos
139
Como o Wiimote funciona
Projetos – Jogo da memória
XI ERBASE MC 06: Interação em Jogos Eletrônicos
140
Parte III
XI ERBASE MC 06: Interação em Jogos Eletrônicos
141
Projetos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
142
Projetos
Memória
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
XI ERBASE MC 06: Interação em Jogos Eletrônicos
143
Projetos
Memória
Movimentação
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15 Posição + 4
Posição - 4
XI ERBASE MC 06: Interação em Jogos Eletrônicos
144
Projetos
Memória
Primeiro clique (jogada1) e segundo clique (jogada2)
Verso Frente
XI ERBASE MC 06: Interação em Jogos Eletrônicos
145
Projetos
Memória
Posicionamento aleatório
[ ] [ ]...[ ]
0 1 7 8 9 15
[ ] [ ]...[ ]
0 1 2 3
4 5 6 7
8 9 10 11
XI ERBASE MC 06: Interação em Jogos Eletrônicos
146
Projetos
Memória
Posicionamento aleatório
[ ] [ ]...[ ]
0 1 7 8 9 15
[ ] [ ]...[ ]
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
XI ERBASE MC 06: Interação em Jogos Eletrônicos
147
[ ] ...[ ]
Projetos
Memória Posicionamento aleatório[ ] [ ]...[ ]
0 1 7 8 14
0 1 2 3
4 5 6 7
10
9 11
XI ERBASE MC 06: Interação em Jogos Eletrônicos
148
Projetos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
149
Projetos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
150
Projetos
Tiro ao alvo
XI ERBASE MC 06: Interação em Jogos Eletrônicos
151
Projetos
Tiro ao alvo
XI ERBASE MC 06: Interação em Jogos Eletrônicos
152
Projetos
Tiro ao alvo
XI ERBASE MC 06: Interação em Jogos Eletrônicos
153
Projetos
Tiro ao alvo
XI ERBASE MC 06: Interação em Jogos Eletrônicos
154
Projetos
Tiro ao alvo
Robot
0 10 20 30 40 50
XI ERBASE MC 06: Interação em Jogos Eletrônicos
155
Projetos
Tiro ao alvo
Robot
0 10 20 30 40 50
XI ERBASE MC 06: Interação em Jogos Eletrônicos
156
Projetos
Tiro ao alvo
Robot
0 10 20 30 40 50
XI ERBASE MC 06: Interação em Jogos Eletrônicos
157
Projetos
Tiro ao alvo
Calibrar
0 10 20 30 40 50
XI ERBASE MC 06: Interação em Jogos Eletrônicos
158
Projetos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
159
Parte IV
XI ERBASE MC 06: Interação em Jogos Eletrônicos
160
Inspire-se...
Wii WhiteBoard
XI ERBASE MC 06: Interação em Jogos Eletrônicos
161
Inspire-se...
Air Hockey
XI ERBASE MC 06: Interação em Jogos Eletrônicos
162
Inspire-se...
Outros projetos
●
Na web existem muitos outros projetos
●
Wii Projects
de Jonnhy Chung Lee (Referências)
●
Vídeos em:
Wiimote Hack
(Referências)
●
Projeto para substituir o mouse em:
HOWTO: Use
the Wii-Mote In Windows as your Mouse
XI ERBASE MC 06: Interação em Jogos Eletrônicos
163
Agradecimentos
XI ERBASE MC 06: Interação em Jogos Eletrônicos
164
Referências
●
Heloísa da Rocha & Mª Cecília Baranauskas
Design e Avaliação de Interfaces
1ª ed., Nied-UNICAMP, 2003.
●
SOMMERVILLE, I..
Engenharia de Software.
XI ERBASE MC 06: Interação em Jogos Eletrônicos
165
Referências
●
Roger S. PRESSMAN,
Engenharia de Software
.
6ª ed., McGraw-Hill, 2006.
●
Jacob Nielsen,
Usability Engineering
.
XI ERBASE MC 06: Interação em Jogos Eletrônicos
166
Referências
●
Shneiderman, B.
Designing the user interface
.
XI ERBASE MC 06: Interação em Jogos Eletrônicos
167
Referências
●
Guilhem Duche
Wiiusej - Java API for Wiimotes
Disponível em: http://code.google.com/p/wiiusej/
●
Luiz Gustavo
Jogo da Memória em Java
XI ERBASE MC 06: Interação em Jogos Eletrônicos
168
Referências
●
Johnny Chung Lee
Wii Projects
Disponível em: johnnylee.net/projects/wii/
●
Artur Miglio
Wiimote Hack
Disponível em: blog.seteoitavos.com/2008_01_01_archive.html
●
LiquidIce
Use the Wii-Mote In Windows as your Mouse
XI ERBASE
MC 06: Interação em Jogos Eletrônicos
Obrigado pela
atenção!
CONTATO