1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

ActionScript help!!!

Discussão em 'Web Development' iniciada por ApophisLima, 16 de Fevereiro de 2009. (Respostas: 14; Visualizações: 1162)

  1. não sei se é aki que devo escrever isto mas ca vai
    Eu estou a fazer um joguinho em flash e queria que o jogo guardasse o progresso num ficheiro txt para que o jogador n tivesse que começar o jogo de novo sempre que voltasse a abrir.
    Já consigo fazer com que o jogo carregue um valor do ficheiro txt mas como é que fasso para guardar um valor nesse mesmo ficheiro ou noutro??
     
    Última edição: 16 de Fevereiro de 2009
  2. masterArt

    masterArt Power Member

    via server side. com php ou um exe que guarde a tua variavel.
     
  3. pois, mas eu cria guardar o valor num ficheiro txt, que tem o seguinte conteudo: cor=1
    já sei como ler o valor e atribuir esse mesmo valor a uma variavel no flash chamada cor, mas cria voltar a guardar no mesmo ficheiro txt e n sei
     
  4. eralha

    eralha Power Member

    Rapaz esquece o ficheiro txt, usa um shared object é uma especie de cookie do flash e podes gravar ojectos em shared objects, tens de ter é atenção ao tamanho dos objectos pois os user podem limitar muito a escrita pelo flash player no disco em termos de espaço.

    há e assim escusas de ter ficheiros no servidor, imagina se 20mil pessoas jogarem o teu jogo....os ficheiros txt que tens de ter.... com SO(sharedObject) fica no cliente em questão.
     
  5. então como é que fasso isso?
     
  6. eralha

    eralha Power Member

    Código:
    ACTIONSCRIPT 2
    //para gravares dados no SharedObject
    var so:SharedObject = SharedObject.getLocal("userHighScore");
    so.data.highScore = new Number();
    so.flush();
     
    // para leres dados do SharedObject
    var scores:Number;
    var so:SharedObject = SharedObject.getLocal("userHighScore");
    scores = so.data.highScore;
     
     
     
     
    ACTIONSCRIPT 3
     
    // para gravar dados no shared object
    var my_so:SharedObject = SharedObject.getLocal("nomeDoJogo");
    my_so.data.nivel = "nivel 1"; //podes meter aqui quantas propriedades quiseres até mesmo objectos
    my_so.data.porp1 = "propriedade 1";
    my_so.data.porp2 = "propriedade 2";
    my_so.data.objecto = "o teu objecto aqui";
    my_so.flush(10000); // este comando para gravar o shared object no disco
     
    //para leres o Shared Object basta fazer e ler as propriedades que quiseres
    var my_so:SharedObject = SharedObject.getLocal("nomeDoJogo");
    my_so.data.porp1 = "propriedade 1";
    my_so.data.porp2 = "propriedade 2";
    
     
    Última edição pelo moderador: 18 de Fevereiro de 2009
  7. muito obrigado
    demorei um pouco a entender o código mas agora já ta a dar :)
     
  8. n sei se é erro meu mas acho que n esta a funcionar
    primeiro fiz um botão para guardar um valor no SharedObject, tudo bem
    depois fiz outro botao para carregar esse valor do SharedObject e aparece o valor correcto
    mas quando reinicio o swf clico logo no segundo botão para carregar esse valor mas aparece undefined:'(
    porfavor ajudem me
     
  9. eralha

    eralha Power Member

    Para que eu te poss ajudar melhor pff diz-me que versão estas a usar do action script.

    Secalhar não estás a fazer o so.flush() é o comando que grava no cliente os dados.
     
  10. estou a usar a versão 2 e o codigo é o seguinte:

    botão guardar

    on (release) {
    var so:SharedObject = SharedObject.getLocal("cor");
    so.data.cor = new Number(_root.car.cor);
    so.flush();
    var cor:Number;
    var so:SharedObject = SharedObject.getLocal("cor");
    }

    botão carregar

    on (press) {
    var cor:Number;
    var so:SharedObject = SharedObject.getLocal("cor");
    cor = so.data.cor;
    _root.car.cor=cor
    trace(cor);\\se tiver reiniciado o filme aparece "undefined"
    }
     
  11. eralha

    eralha Power Member

    Código:
    botao caregar
     
    on (press) {
    var so:SharedObject = SharedObject.getLocal("gameData");
    trace(so.data.cor);
    } 
     
    butao guardar
     
    on (release) {
    var so:SharedObject = SharedObject.getLocal("gameData");
    so.data.cor = "vermelho";
    so.flush(1000);
    var cor:Number;
    }
    
    o problema qe vejo pode estar no _root.car, ou nos data types, este code funciona perfeito.
     
  12. :) já funciona direitinho mt obrigado, vai me dar mt jeito:)
    agora tenho de fechar o tópico?
    se é necessário eu n sei como se fecha
     
  13. eralha

    eralha Power Member

    tranquilo. qq coisa apita.
    quanto ao topico n sei.
     
  14. dppako

    dppako Power Member

    Isto fica na cache?
     
  15. eralha

    eralha Power Member

    Mesmo que apages a cache o shared object continua a existir.
     

Partilhar esta Página