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 出错了哪里,我只是想写一方法调用而已,为什么这么难。。。