Загрузил переменную php во флэш, но не могу применить ее в функции - PullRequest
0 голосов
/ 29 января 2010

Привет! Я создал функцию actionscript, которая останавливает анимацию в определенном кадре, который работает нормально. Затем я загрузил в php-файл переменную, которая будет содержать номер кадра, на котором я хочу, чтобы анимация остановилась. Это загрузилось в порядке, и я загрузил его в функции. то, что я не могу сделать, это вставить переменную в функцию, которая говорит анимации прекратить воспроизведение.

вот мой код:

//load variables
varReceiver = new LoadVars(); // create an object to store the variables
varReceiver.load("http://playground.nsdesign6.net/percentage/external.php");
//load variables



//function1
varReceiver.onLoad = function() {
//value is the var that is created. 
var paul = this.percentage;
}
//function1


//function2
this.onEnterFrame = function() {    
if(this._currentframe==(percentage)) {
this.stop();
this.onEnterFrame = undefined;
}
}
play();
//function2    

веселит Пол

Ответы [ 2 ]

0 голосов
/ 15 апреля 2010
//load variables
var paul; // <- !!!
varReceiver = new LoadVars(); // create an object to store the variables

varReceiver.onLoad = function() {
//value is the var that is created. 
   paul = this.percentage; // <- !!!
   play();
}
//function1


//function2
this.onEnterFrame = function() {    
   if(this._currentframe==(paul)) { // <- !!!
      this.stop();
      this.onEnterFrame = undefined;
   }
}
//function2

varReceiver.load("http://playground.nsdesign6.net/percentage/external.php");

или лучше:

//load variables
varReceiver = new LoadVars(); // create an object to store the variables

varReceiver.onLoad = function() { // onLoad
   if(this.percentage!=undefined){ // check if percentage exist
      _root.onEnterFrame = function(){ // register event function
         if(_currentframe == varRecivier.precentage) { // function body
            _root.stop();
            _root.onEnterFrame = null;
         }
      play();
   }else{ // no variable "precentage" in loaded data
      gotoAndPlay("error"); // loading error handling
   }
}
0 голосов
/ 30 января 2010

Мне кажется, проблема в том, что percentage не определено в рамках функции 2.

Попробуйте что-то вроде этого:

//function1
varReceiver.onLoad = function() {
//value is the var that is created. 
var _level0.paul = this.percentage;
}
//function1

//function2
this.onEnterFrame = function() {    
if(this._currentframe==paul) {
this.stop();
this.onEnterFrame = undefined;
}
}

Еще одна вещь, о которой следует помнить, это то, что к моменту вызова функции onLoad вы уже прошли через пару кадров, поэтому, возможно, вам следует изменить свой тест в function2 на if(this._currentframe>=paul) на всякий случай, если небольшое число.

...