14.04.2013 Views

Tutorial: Desenvolvimento de Jogos com Unity 3D - PUC-Rio

Tutorial: Desenvolvimento de Jogos com Unity 3D - PUC-Rio

Tutorial: Desenvolvimento de Jogos com Unity 3D - PUC-Rio

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

VIII Brazilian Symposium on Games and Digital Entertainment <strong>Rio</strong> <strong>de</strong> Janeiro, RJ – Brazil, October, 8th-10th 2009<br />


<br />

2
‐
Criação
e
Manipulação
<strong>de</strong>
Game
Objects
<br />

Figure
5
‐
Janela
Inspector
<br />

Muitos
motores
<strong>de</strong>
jogos
<strong>de</strong>
geração
anterior
disponíveis
no
mercado
são
baseados
no
uso
<strong>de</strong>
<br />

especialização/herança
para
as
classes
que
irão
representar
objetos
<strong>de</strong>
jogo.
Nesta
arquitetura,
<br />

os
elementos
<strong>de</strong>
um
jogo
herdam
<strong>de</strong>
uma
classe
básica
(normalmente
algo
<strong>com</strong>o
GameObject)
<br />

e
 as
 novas
 funcionalida<strong>de</strong>s
 são
 acrescentadas.
 Assim
 <strong>com</strong>o
 em
 outras
 categorias
 <strong>de</strong>
<br />

<strong>de</strong>senvolvimento
<strong>de</strong>
software
orientado
a
objetos,
o
uso
<strong>de</strong>masiado
<strong>de</strong>
herança
nesse
tipo
<strong>de</strong>
<br />

situação
tornou‐se
obsoleto,
principalmente
por
sua
pouca
flexibilida<strong>de</strong>
quando
os
objetos
<strong>de</strong>
<br />

jogo
possuem
múltiplos
<strong>com</strong>portamentos,
o
que
exigiria
herança
múltipla.

<br />


A
 <strong>Unity</strong><strong>3D</strong>
 é
 baseada
 em
 um
 mo<strong>de</strong>lo
 mais
 mo<strong>de</strong>rno
 para
 a
 arquitetura
 <strong>de</strong>
 objetos
 <strong>de</strong>
 jogo
<br />

baseado
em
<strong>com</strong>posição
[Bilas
2002,
Stoy
2006,
Passos
et
al.
2008].
Nesse
mo<strong>de</strong>lo,
um
objeto
<br />

<strong>de</strong>
jogo
é
especificado
através
da
<strong>com</strong>posição
<strong>de</strong>
várias
funcionalida<strong>de</strong>s,
que
são
agregadas
(ou
<br />

removidas).
Cada
 funcionalida<strong>de</strong>
 é
 implementada
 por
 um
 <strong>com</strong>ponente
 (classe
 que
 herda
 <strong>de</strong>
<br />

um
<strong>com</strong>ponente
básico).
Esse
container
genérico
ainda
é
<strong>de</strong>nominado
Game
Object
e
funciona
<br />

<strong>com</strong>o
um
repositório
<strong>de</strong>
funcionalida<strong>de</strong>s,
ou
mais
especificamente,
<strong>com</strong>ponentes.
<br />


<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!