Quantcast
Channel: Adobe Community : Unanswered Discussions - AIR Development
Viewing all articles
Browse latest Browse all 2010

[French] Animate CC / AIR : Fichier "parent" et "enfants" (.apk et swf)

$
0
0

(I'm sorry, I don't speak english   )

 

Bonjour,

je cherche vainement de l'aide depuis des semaines pour résoudre un problème... Je tente ici.

Voilà, je souhaite créer une sorte de "livre dont vous êtes les héros", où un fichier parent (.apk) va charger des chapitres du livre ("swf" sur un serveur). Comme une page correspond à une image-clé de la scène principale (de chaque chapitre, donc fichier enfant "swf"), le lecteur va pouvoir sauvegarder sa lecture en enregistrant la position de la tête de lecture.

 

Alors, j'arrive bien à créer l'apk qui va charger la séquence enfant, mais mon problème réside dans l'enregistrement/chargement de la position de la tête de lecture... Je mets ces fichiers pour exemple pour exemple. Si, par exemple, j'arrive dans la "seqEnfant1", que je sauvegarde, et recharge aussitôt, que je finis la "seqEnfant1", au lieu d'arriver à la position (1) de la "seqEnfant2", la tête de lecture se positionne dans le numéro de l'image-clé enregistré. Si j'ai sauvegardé alors que j'étais en image-clé 3 de la "seqEnfant1", j'arriverai en image-clé 3 de la "seqEnfant2" au lieu d'arriver à l'image 1 !

 

Voici les principaux codes :

 

Code principal du fichier "parent" (.apk)

import flash.filesystem.File;import flash.display.Loader;

 

 

stop();

var toGo = 1;

var saveLocale:SharedObject= SharedObject.getLocal("saveMonJeu",'/');

var loader:Loader = new Loader();

addChild(loader);

  new1.addEventListener(MouseEvent.CLICK, nouvellePartie);

  charge1.addEventListener(MouseEvent.CLICK, chargeDonnees);

  loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);

 

function nouvellePartie(event:MouseEvent):void {

  toGo = 1;

  loader.load(new URLRequest('seqEnfant1.swf'));

}

 

 

function chargeDonnees(event:MouseEvent):void {

  loader.unloadAndStop(true);

  if(saveLocale.data.numImage!= undefined) {

  //pistecricket.stop();

  toGo = saveLocale.data.numImage;

  loader.load(new URLRequest(saveLocale.data.seqName));

  }else{

  toGo = 1;

  loader.load(new URLRequest('seqEnfant1.swf'));

  }

}

 

 

 

function onCompleteHandler(loadEvent:Event){

  loadEvent.currentTarget.content.loader = loader;

  loadEvent.currentTarget.content.chargeDonneesAct = chargeDonnees;

  loadEvent.currentTarget.content.onCompleteHandler = onCompleteHandler;

  loadEvent.currentTarget.content.gotoAndStop(toGo);

}

 

 

/////////////

 

 

 

Code principal du fichier "seqEnfant1" :

import flash.display.Loader;

 

 

var seqName = 'seqEnfant1.swf';

 

 

var saveLocale:SharedObject= SharedObject.getLocal("saveMonJeu",'/');

var chargeDonneesAct;

var loader:Loader;

btn.sauvegarder.addEventListener(MouseEvent.CLICK, sauveDonnees);

btn.charger.addEventListener(MouseEvent.CLICK, chargeDonnees);

btn.kit.addEventListener(MouseEvent.CLICK, kiter);

 

 

function kiter(event:MouseEvent):void {loader.unloadAndStop(true);}

 

 

function sauveDonnees(event:MouseEvent):void {

    saveLocale.clear();

  saveLocale.data.numImage = MovieClip(root).currentFrame;

  saveLocale.data.seqName = seqName;

  saveLocale.flush();

 

}

 

 

function chargeDonnees(event:MouseEvent):void {   

  chargeDonneesAct(event);

}

 

 

Bouton de la fin de la "seqEnfant1" qui doit lancer "seqEnfant2" en position (1) et vider la mémoire de "seqEnfant1":

stop();

var toGO = 1;

croix1.addEventListener(MouseEvent.CLICK, croix1FC);

function croix1FC(event:MouseEvent):void

{

  loader.unloadAndStop(true);

  loader.load(new URLRequest('seqEnfant2.swf'));

  loader.contentLoaderInfo.addEventListener(Event.COMPLETE, aller);

  }

 

function aller(loadEvent:Event){

  loadEvent.currentTarget.content.onCompleteHandler = aller;

  loadEvent.currentTarget.content.gotoAndPlay(1);

}

 

 

Vous pouvez télécharger ces fichiers pour exemple.

 

 

MERCI !!!

(ça fait des semaines que je tourne en rond... je tente des tas de codes, mais ça ne marche pas)


Viewing all articles
Browse latest Browse all 2010

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>