Olá a todos, estou com algumas dúvidas, estou desenvolvendo um jogo para por na web (a versão preliminar já está no ar com link na página principal de Fruity Eater - SNAKE)
E na versão que estou acabando e q ainda não está on-line eu estou colocando sisteminha de salvar o progresso dos jogadores através de SharedObjects.
O jogo na versão que já está on-line tem 50 FASES com MAPAS diferentes, mas na versão completa pretendo colocar 100 FASES com MAPAS diferentes, então seria até um pouco desgastante querer virar o jogo de uma só vez, pois isso poderia levar várias horas. Então resolvi utilizar o SharedObject para armazenar as variáveis necessárias para que quem jogar puder continuar do ponto onde parou a qualquer mometo.
Fuçando pelos bons sites de comunidades de usuários de Flash brasileiros achei um tutorial dando umas dicas de como fazer. Estudei os comandos ali utilizados e consegui solucionar completamente o que eu queria.
Mas querendo me aprofundar mais um pouco no assunto SO, procurei nos materiais de referência do FLASH MX e não encontrei.
Então minha dúvida é a seguinte:
Existe alguém aí disposto a dar uma breve resumidinha nas propriedades e métodos da classe SharedObjects? ou colocar o link de onde encontro documentação a respeito desta classe? Por favor gostaria muito de me aprofundar neste assunto.
muito obrigado, Leonardo Ferreira.
Publicidade
|
|
Page 1 of 1
SharedObjects algumas dúvidas uso FMX e ñ encontro referência p/ SO
#2
Posted 24 February 2005 - 10:22 AM
SharedObjects
Um objeto do tipo SharedObject no Flash funciona como um cookie do browser, porém, ele não depende do usuário aceitar ou não. Ele depende somente de duas coisas para ser utilizado: (1) O usuário ter espaço suficiente em disco para que o arquivo seja gravado e (2) o conteúdo do arquivo gerado pelo SharedObject seja menor ou igual a 100k ou o espaço definido pelo usuário no Flash Player. Se o tamanho do arquivo gerado for maior do que o espaço permitido, o Flash Player enviará um aviso para o usuário solicitando espaço e se ele deseja salvar os dados.
Uma das grandes vantagens do SharedObject em relação a cookies, é a possibilidade de gravação de objetos complexos; por exemplo: vamos supor que eu quero gravar um array:
var ar:Array = new Array("nome","teste","1234");
var so:SharedObject = SharedObject.getLocal("meu_cookie");
so.data.lista = ar;
so.flush();
Todo o array será gravado dentro do SharedObject, possibilitando que eu o reutilize mais tarde.
Lista de Métodos:
- SharedObject.clear() : Limpa o conteúdo do SharedObject e remove o arquivo .sol da máquina do cliente
- SharedObject.flush([espacoMinimo]): Salva imediatamente o conteúdo do SharedObject na máquina do cliente. O parâmetro espacoMinimo, é o espaço mínimo necessário para que o SharedObject seja gravado. Por exemplo: vamos supor que você tem 100 bytes de dados, mas você quer garantir e solicita um espaço minimo de 500 bytes; então o flash player, na chamada do flush(), irá analizar se há 500 bytes disponíveis, ao invés de pegar o tamanho atual do SharedObject.
- SharedObject.getLocal(nome,[localPath]): Caso seja encontrado na máquina do cliente um objeto já gravado com o mesmo nome passado no parâmetro nome, ele retorna uma referência do arquivo já gravado. Do contrário, cria uma nova instância e retorna sua referência. O parametro opcional localPath, serve para você especificar em qual pasta dentro da pasta de SharedObject's do flash será gravado seu objeto. Por exemplo: a pasta padrão é c:\FlashPlayer\SharedObject, e vc passou localPath como teste, então ficará c:\FlashPlayer\SharedObject\teste\nome.sol. Se o parametro é omitido, então é utilizado o domínio onde está o arquivo swf. Utilize var variavel:SharedObject = SharedObject.getLocal("nome"); para criar ou instanciar um SharedObject.
- SharedObject.getSize(): Retorna o tamanho atual do SharedObject, em bytes.
Propriedades
- SharedObject.data: Os dados propriamente ditos do SharedObject. Tudo o que vc quiser guardar, utilize: my_so.data.nome_da_minha_var = valor;. Para retornar o valor da variável, é so acessá-la my_so.data.variavel.
Eventos
- SharedObject.onStatus : Informa o usuário a respeito do status do SharedObject. Método de uso:
SharedObject.onStatus = function (infoStatus:Object) {
// seu código vai aqui
}
O objeto infoStatus retorna o status atual do seu SharedObject.
Para ver todos os itens desse status, use
var so:SharedObject = SharedObject.getLocal("teste");
SharedObject.onStatus = function (infoStatus:Object) {
for(i in infoStatus) {
trace(i + ": " + infoStatus[i]);
}
}
so.data.nome = "hugo";
so.data.idade = 21;
so.flush();
Espero que ajude!!
@braços
Um objeto do tipo SharedObject no Flash funciona como um cookie do browser, porém, ele não depende do usuário aceitar ou não. Ele depende somente de duas coisas para ser utilizado: (1) O usuário ter espaço suficiente em disco para que o arquivo seja gravado e (2) o conteúdo do arquivo gerado pelo SharedObject seja menor ou igual a 100k ou o espaço definido pelo usuário no Flash Player. Se o tamanho do arquivo gerado for maior do que o espaço permitido, o Flash Player enviará um aviso para o usuário solicitando espaço e se ele deseja salvar os dados.
Uma das grandes vantagens do SharedObject em relação a cookies, é a possibilidade de gravação de objetos complexos; por exemplo: vamos supor que eu quero gravar um array:
CODE
var ar:Array = new Array("nome","teste","1234");
var so:SharedObject = SharedObject.getLocal("meu_cookie");
so.data.lista = ar;
so.flush();
Todo o array será gravado dentro do SharedObject, possibilitando que eu o reutilize mais tarde.
Lista de Métodos:
- SharedObject.clear() : Limpa o conteúdo do SharedObject e remove o arquivo .sol da máquina do cliente
- SharedObject.flush([espacoMinimo]): Salva imediatamente o conteúdo do SharedObject na máquina do cliente. O parâmetro espacoMinimo, é o espaço mínimo necessário para que o SharedObject seja gravado. Por exemplo: vamos supor que você tem 100 bytes de dados, mas você quer garantir e solicita um espaço minimo de 500 bytes; então o flash player, na chamada do flush(), irá analizar se há 500 bytes disponíveis, ao invés de pegar o tamanho atual do SharedObject.
- SharedObject.getLocal(nome,[localPath]): Caso seja encontrado na máquina do cliente um objeto já gravado com o mesmo nome passado no parâmetro nome, ele retorna uma referência do arquivo já gravado. Do contrário, cria uma nova instância e retorna sua referência. O parametro opcional localPath, serve para você especificar em qual pasta dentro da pasta de SharedObject's do flash será gravado seu objeto. Por exemplo: a pasta padrão é c:\FlashPlayer\SharedObject, e vc passou localPath como teste, então ficará c:\FlashPlayer\SharedObject\teste\nome.sol. Se o parametro é omitido, então é utilizado o domínio onde está o arquivo swf. Utilize var variavel:SharedObject = SharedObject.getLocal("nome"); para criar ou instanciar um SharedObject.
- SharedObject.getSize(): Retorna o tamanho atual do SharedObject, em bytes.
Propriedades
- SharedObject.data: Os dados propriamente ditos do SharedObject. Tudo o que vc quiser guardar, utilize: my_so.data.nome_da_minha_var = valor;. Para retornar o valor da variável, é so acessá-la my_so.data.variavel.
Eventos
- SharedObject.onStatus : Informa o usuário a respeito do status do SharedObject. Método de uso:
CODE
SharedObject.onStatus = function (infoStatus:Object) {
// seu código vai aqui
}
O objeto infoStatus retorna o status atual do seu SharedObject.
Para ver todos os itens desse status, use
CODE
var so:SharedObject = SharedObject.getLocal("teste");
SharedObject.onStatus = function (infoStatus:Object) {
for(i in infoStatus) {
trace(i + ": " + infoStatus[i]);
}
}
so.data.nome = "hugo";
so.data.idade = 21;
so.flush();
Espero que ajude!!
@braços
#3
Posted 25 February 2005 - 05:30 AM
opa, ajudou para caramba... mas... só mais uma perguntinha...
É só isso???
No uso de SO já estou bem e estou usando bastente, mas esperava que houvesse mais métodos e propiedades que pudessem ser acessadas e usadas para manipular o que ali estiver gravado.
Mas se é simples assim, melhor ainda, abraço a todos e muito obrigado por esta abordagem eficiente sobre o SO.
leonardo ferreira
É só isso???
No uso de SO já estou bem e estou usando bastente, mas esperava que houvesse mais métodos e propiedades que pudessem ser acessadas e usadas para manipular o que ali estiver gravado.
Mas se é simples assim, melhor ainda, abraço a todos e muito obrigado por esta abordagem eficiente sobre o SO.
leonardo ferreira
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
muitas dúvidas
|
Illustrator |
alexluiz
|
|
|
|
Parafusooo
Preciso fazer um parafuso de placa de carro |
Fireworks |
ZOIAZUL
|
|
|
|
Configuração de Engenharia Reversa
Dúvidas sobre as configurações |
Projeto :: Lumine |
Leandro D. Soares
|
|
|
|
Perguntas de iniciantes...
Dúvidas de iniciantes |
Tutoriais e Artigos |
Fonseca
|
|
|
|
Uso da internet deve dominar debate sobre reforma eleitoral
|
Notícias |
Notícias
|
|
|
|
Erro em texto circular
Uso o attach to path ... |
Fireworks |
drikams
|
|
|
|
"Gamers" cobiçam luva de uso militar
|
Notícias |
Notícias
|
|
|
|
Problemas com o Corel X3
lentidão no uso |
Corel Draw |
neocall
|
|
Publicidade
|
|

Help













