Assim, usaremos o GerenciadorDeArquivos.py (no diretório Livro) para criar/excluir páginas, opções, personagens ou pensamentos do livro interativo.
Era Uma Nova Vez
sábado, 5 de fevereiro de 2011
Criação do Gerenciador de Arquivos
Criamos um script em python para nos auxiliar na adição e remoção de arquivos xml, já que essas operações podem desencadear modificações em diversos arquivos.
sexta-feira, 10 de dezembro de 2010
Resumo das próximas tarefas
Com as histórias atuais, devemos:
- Melhorar interface gráfica (imagens, planos de fundo, pensamentos, etc)
- Terminar de escrever os pensamentos
Com as próximas histórias, devemos:
- Escrever as histórias
- Procurar mais modelos 3D
- Guardar a relação de pessoas que se conhecem para alterar o andamento da história.
- Fazer a aparição de algum personagem determinar a próxima página.
- Fazer a aparição de algum personagem influenciar nos pensamentos.
terça-feira, 7 de dezembro de 2010
Assuntos discutidos na reunião de hoje
Sobre a consequência de uma opção
A consequência pode ser lançada no início da próxima págima ao invés de aparecer como popup.
Sobre os pensamentos
Especificação da classe
Pensamentos
Responsabilidades
Atribui um pensamento a um personagem de uma determinada página.
Atributos
TabelaDeSimbolos pensamentos_aleatorios
TabelaDeSimbolos pensamentos_determinados
LeitorDeXML leitor
Especificação do arquivo
Pensamentos aleatórios :
pensamentos_aleatorios
caracteristica
Lista de pensamentos:
pensamento
Lista de pensamentos determinados:
pensamento_determinado
chave
info
Sobre as histórias
"Lógica" das histórias
Para aumentar a interatividade, pensamos em fazer a aparição de um personagem, em um certo trecho da história, determine a próxima página diretamente. Isto é, basta um personagem aparecer junto ao personagem principal para mudar de página.
Pensamos também em guardar a relação dos personagens que se conhecem e o respectivo contexto em que se conheceram ou se viram pela última vez.
Uma ideia que talvez seja estudada mais para frente é estabelecer uma relação entre os pensamentos e aquilo que está interagindo com personagem na tela de realidade aumentada.
Ideias de histórias
domingo, 5 de dezembro de 2010
Decisões e idéias sobre interatividade
- Pensamentos
Decidimos que cada página conterá uma instância da classe Pensamentos(?).
Esse objeto contém os pensamentos dos personagens "relevantes" à respectiva passagem da história, e uma lista de pensamentos genéricos para outros personagens.
Tais pensamentos genéricos estão categorizados de acordo com a personalidade do personagem ao qual se atribuirá um pensamento aleatório.
Isso implica uma mudança na classe Personagem, que deverá ter um atributo "personalidade" ou algo similar.
Assim, se um personagem entra em cena e é importante nesse momento, terá atribuído a si um pensamento específico. Se não, terá um pensamento genérico correspondente a sua personalidade.
- Personagens que se conhecem
Esta é uma idéia de guardarmos quais os personagens que se conhecem, baseado em momentos em que eles apareceram juntos devido à intervenção do usuário. Isto é, se em algum momento o usuário fez a Cinderela e o Lenhador aparecerem na mesma cena, eles se conhecerão. Isto pode afetar o modo como a história se desenrola.
sábado, 4 de dezembro de 2010
Algumas ideias para a implementação dos pensamentos
Acreditamos que a exibição dos pensamentos dos personagens na tela de realidade aumentada será um aspecto importante na interatividade com o usuário.
Queremos criar um mecanismo que selecione os pensamentos a serem exibidos para casa personagem em um dado contexto.
Seguem algumas ideias para implementação desse mecanismo:
- Cada personagem tem uma tabela de símbolos com o numero da página como chave e o pensamento que aparece nessa página como informação. Se a página atual não estiver na tabela, é sorteado um pensamento aleatório do personagem.
- Cada página tem uma lista de pensamentos "úteis". Cada pensamento indica a que personagem ele pertence. (Poderíamos ter uma tabela de símbolos com o id do personagem como chave e o respectivo pensamento como informacao). Se um personagem colocado não conta na lista, então é sorteado um pensamento aleatório do personagem.
- Criar uma classe "Pensamento" (pensamentos aleatórios, pensamentos do protagonista, pensamentos dos personagens interativos). Cada página teria um Pensamento. Quando a tag de um personagem aparece, o pensamento devolveria um texto que será mandado para o personagem. O personagem teria um balãozinho com o texto devolvido.
segunda-feira, 15 de novembro de 2010
Tarefas para a fase final do projeto
Resolvemos mudar a ênfase da próxima fase, que antes era a implementação da parte dos usuários, para o polimento da interface gráfica, das histórias e o aumento da interatividade (pensamentos e mais informações chave).
Antes da próxima reunião:
- Pensar nas histórias [Su]
- Ideias para melhorar a interface gráfica [Su]
- Ideias sobre os pensamentos [Samu]
Assuntos para a próxima reunião
- Discussão sobre como os pensamentos serão implementados (como o pensamento irá acompanhar o modelo?)
- Discussão sobre como será a interface gráfica
- Como organizar arquivos das páginas
Próximas Tarefas
- Mudar o nome dos arquivos das opcoes (o número da página será indicado antes do número da opção)
Tarefas secundárias (talvez não sejam feitas até a entrega)
Usuários
- Interface + implementação: botões (de cadastro e para salvar a história), campos para cadastro, carregar usuário, criar usuário, atualizar [Cy]
- Salvar perfil XML (pesquisar como fazer para salvar um arquivo XML) [Su] [Cy]
- Verificações de fluxo [Samu]
- Deletar informações da história quando chegar ao fim[Cy] [Su]
- Salvar a história [Su][Cy]
- Carregar página inicial [Cy]
- Passar página inicial e situação da história para o o construtor do Livro (utilizar parâmetros opcionais, implementar no arquivo Acoes.as) [Samu]
- Segurança dos dados (fazer senha para o usuário?)
sábado, 6 de novembro de 2010
Texto Justificado
Link com exemplo para justificar o texto em mxml:
http://livedocs.adobe.com/flex/3/html/help.html?content=textcontrols_04.html
Exemplo em AS3:
/* TextFormat fica no pacote flash.text */
http://livedocs.adobe.com/flex/3/html/help.html?content=textcontrols_04.html
Exemplo em AS3:
/* TextFormat fica no pacote flash.text */
//label1 is just a standard textfield label1.wordWrap = true; label1.multiline = true; var tmpFormat:TextFormat = label1.getTextFormat(); tmpFormat.align = "justify"; label1.defaultTextFormat = tmpFormat;
Assinar:
Postagens (Atom)