Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-01-2007, 12:47   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2006
Beiträge: 56
asynchrone kommunikation zwischen fscommand und javascript beheben

Hi all,

ich bin gerade dabei per fscommand über eine funktion eine Variable auszulesen und zu verarbeiten.
Problem ist das die Variable nie verarbeitet werden kann, da Flash noch nciht mit dem Lesen fertig ist.

Das liegt zum Grossteil auch an der SCORM-API (das muss aber nicht weiter vertieft werden)

Gibt es eine Möglichkeit das Flash wartet?
Ich denke da an Java mit thread.sleep(xxx) etc.

LG Dary

P.S: Hier noch ein bissl demosource (habs momentan mit Buttons gelöst onRelease..., sollte irgendwie auch ohne Buttons hintereinander ablaufen.

ActionScript:
  1. this.b1.onRelease=function(){
  2. fscommand("LMSGetValue","cmi.suspend_data,returnval");
  3. }
  4.  
  5. this.b2.onRelease=function(){
  6. fscommand("LMSSetValue","cmi.suspend_data,"+returnval+"A");
  7. }
  8.    
  9. this.b3.onRelease=function(){
  10. fscommand("LMSCommit", "");
  11. fscommand("CMISetCompleted", "");
  12. fscommand("CMIFinish", "");
  13. txtField.text=returnval;
  14. }

Geändert von Dary (19-01-2007 um 12:51 Uhr)
Dary ist offline   Mit Zitat antworten
Alt 19-01-2007, 18:25   #2 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
- verschoben -
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Alt 20-01-2007, 20:27   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2006
Beiträge: 56
Hi all,

hab nach langen rumspielen endlich eine Lösung aufm Tisch, ist zwar eher quick&dirty, aber es geht

Wenn jemand sieht wie man den Code optimieren bzw. eleganter lösen könnte bitte melden.

LG Dary

ActionScript:
  1. var delay:Boolean=true;
  2. var startTime:Number;
  3.  
  4. function getSCORMData():String{
  5. fscommand("LMSGetValue","cmi.suspend_data,returnval");
  6. _root.delay = true;
  7. _root.startTime = getTimer()/100;
  8.  
  9. this.onEnterFrame = function(){
  10.     if (_root.delay) {
  11.         if (1<=(getTimer()/100)-_root.startTime) {
  12.             // Time is up!
  13.             _root.delay = false;
  14.             delete this.onEnterFrame;
  15.             if (_root.returnval=="") _root.returnval="0";
  16.             setSCORMData(_root.returnval);
  17.         }
  18.     }
  19. }
  20.     return _root.returnval;
  21. };
  22.  
  23. function setSCORMData(p:String){
  24. fscommand("LMSSetValue","cmi.suspend_data,"+p+"A");
  25. _root.delay = true;
  26. _root.startTime = getTimer()/100;
  27.  
  28. this.onEnterFrame = function(){
  29.     if (_root.delay) {
  30.         if (1<=(getTimer()/100)-_root.startTime) {
  31.             // Time is up!
  32.             _root.delay = false;
  33.             delete this.onEnterFrame;
  34.             saveSCORMData();
  35.         }
  36.     }
  37. }
  38. };
  39.  
  40. function saveSCORMData(){
  41. fscommand("LMSCommit", "");
  42. fscommand("CMISetCompleted", "");
  43. fscommand("CMIFinish", "");
  44. txtField.text=_root.returnval;
  45. stop();
  46. }
  47.  
  48. getSCORMData();

Geändert von Dary (21-01-2007 um 11:24 Uhr)
Dary ist offline   Mit Zitat antworten
Alt 26-02-2007, 17:49   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2006
Beiträge: 56
schieb

keiner nen Verbesserungsvorschlag für mich?
Dary ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele