0

bytesLoaded と bytesTotal をトレースする必要がある簡単なプログラムを作成しています。すべて問題ないように見えますが、次のランタイム エラーが発生します:エラー #1010: 用語が定義されておらず、プロパティがありません。これは私のas3.0クラスコードです:

package  {

import flash.display.*;
import flash.text.TextField;
import flash.events.Event;

   public class shoolWork3 extends MovieClip {
       public function shooWork3():void {
           addEventListener(Event.ENTER_FRAME, loadProgress);

        function loadProgress(event:Event) {
            // get bytes loaded and bytes total
            var movieBytesLoaded:int = this.root.loaderInfo.bytesLoaded;
            var movieBytesTotal:int = this.root.loaderInfo.bytesTotal;

            //Convert to kilobytes
            var gameKilobytesLoaded:int = gameBytesLoaded / 1024;
            var gameKilobytesTotal:int = gameBytesTotal / 1024;
      }
    }
  }
}
4

1 に答える 1

1

関数でthisglobal、クラスではなくオブジェクトスコープを参照しており、globalオブジェクトにはrootプロパティがないため、エラーが発生します。クラスのプロパティにアクセスする場合は、thisキーワードを削除する必要があります。

var movieBytesLoaded:int = root.loaderInfo.bytesLoaded;
...

また、変数はmovieBytesLoadedand と呼ばれますが、 andmovieBytesTotalにアクセスしようとしていますが、それも機能しません。gameBytesLoadedgameBytesTotal

于 2013-06-23T23:10:28.883 に答える