每天學一點flash(27) as3.0自訂類 錯誤筆記

來源:互聯網
上載者:User

getxml.as

package com.org{
 import flash.display.Sprite;
 import flash.net.URLLoader;
 import flash.net.URLRequest;
 import flash.net.URLLoader;
 import flash.events.Event;
 import flash.text.TextField;

 public class getxml extends Sprite {
  private var myxml:XML=new XML();
  public var picArray:Array=new Array();
         public function getxml() {
            var url:String="pic.xml";
   var myURLRequest:URLRequest=new URLRequest(url);//擷取外部地主
   var myLoader:URLLoader=new URLLoader(myURLRequest);//外部載入xml
   myLoader.addEventListener(Event.COMPLETE,OK);//進行監聽函數
  }
  function OK(e:Event):void {
   myxml=XML(e.target.data);
   var n:int=myxml.elements("*").length();//使用帶星號參數的 length() 方法可輸出元素的總數。 例如,numElement = addressbook.elements("*").length()。
   var str:String;
   for (var i:int = 0;i<n;i++) {
    str=(myxml.elements("*")[i]).toString();
    picArray.push(str);
    trace(picArray[i]);
   }
  
  }
  
  
 }

 

一個下午出現了一些好奇怪的問題,編譯器總是說我沒有定義方法

 

當我嘗試加上一個方法的時候,準備調用的時候就出現問題在第一幀裡面

添加代碼

var vv:getxml=new getxml();

出現1180: Call to a possibly undefined method addFrameScript.問題

方法沒有定義

可以當我嘗試定義個方法,編譯器總是一直說我沒有編譯

public function hello():String {
   var hh:String="sssssss";
   return hh;
  }

再定義一個方法

package com.org{
 import flash.display.Sprite;
 import flash.net.URLLoader;
 import flash.net.URLRequest;
 import flash.net.URLLoader;
 import flash.events.Event;
 import flash.text.TextField;

 public class getxml extends Sprite {
  private var myxml:XML=new XML();
  public var picArray:Array=new Array();
         public function getxml() {
            var url:String="pic.xml";
   var myURLRequest:URLRequest=new URLRequest(url);//擷取外部地主
   var myLoader:URLLoader=new URLLoader(myURLRequest);//外部載入xml
   myLoader.addEventListener(Event.COMPLETE,OK);//進行監聽函數
  }
  function OK(e:Event):void {
   myxml=XML(e.target.data);
   var n:int=myxml.elements("*").length();//使用帶星號參數的 length() 方法可輸出元素的總數。 例如,numElement = addressbook.elements("*").length()。
   var str:String;
   for (var i:int = 0;i<n;i++) {
    str=(myxml.elements("*")[i]).toString();
    picArray.push(str);
    trace(picArray[i]);
   }
  
  }
  public function hello():String {
   var hh:String="sssssss";
   return hh;
  }
  
 }
}

在第一幀寫

var vv:getxml=new getxml();
//addChild(vv);
mytext.text=vv["hello"]();

問題:同樣出錯

但是

package{
 import flash.display.Sprite;
 import flash.net.URLLoader;
 import flash.net.URLRequest;
 
 public class myclass extends Sprite{
  public var ss:String;
  public var hh:int;
  public function myclass(){
   hh=2;
   
   }
          public function hello():String{
     ss="sssss";
     return ss;
    
     }  
  
  
  }
 
 
 
 
 }

這個案例自己測試過又ok

var yy:myclass=new myclass();
mytext.text=yy.hello();

真的搞不懂as3.0 出錯了哪裡,我只是想寫一方法調用而已,為什麼這麼難。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.