Flash 访问AMF调用操作脚本3的响应程序对象
我是AS3的初学者,我正在使用FlashDevelop作为IDE,我正在尝试连接到AMF3服务amfphp并获取用户详细信息 我可以使用AMFinit函数中的此代码连接到AMF服务Flash 访问AMF调用操作脚本3的响应程序对象,flash,actionscript-3,oop,remoting,Flash,Actionscript 3,Oop,Remoting,我是AS3的初学者,我正在使用FlashDevelop作为IDE,我正在尝试连接到AMF3服务amfphp并获取用户详细信息 我可以使用AMFinit函数中的此代码连接到AMF服务 private function AMFinit():void{ AMFService.objectEncoding = ObjectEncoding.AMF3; AMFService.connect(AMFServiceURL); AMFService.addEventListener(Ne
private function AMFinit():void{
AMFService.objectEncoding = ObjectEncoding.AMF3;
AMFService.connect(AMFServiceURL);
AMFService.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
var responder:Responder = new Responder(AMF_MyUserInfo, AMF_onFault);
AMFService.call("Danisman.GetUserWithIdentifier", responder, user_identifier);
// I NEED TO USE returned object data here!!
}
在AMF_MyUserInfo函数中,我可以从响应程序中获取返回的对象,并且我可以成功地跟踪它,下面是代码
private function AMF_MyUserInfo(res:Object):void {
AMF_onResult(res);
trace(res.user_ID + res.username);
}
但是要在AMF_MyUserInfo函数之外使用,我想将res对象复制到另一个对象。我尝试在类中指定一个对象,并使用this.myobject=res在AMF_MyuserInfo函数中将res设置为此对象,但没有成功。我也试过这个.myobject.username=res.username,但也不起作用
我是OOP的新手,如何在全局或AMFinit函数中使用这个res对象
感谢您的帮助…如果您可以跟踪函数中的res值,那么一切都应该正常。不知道会出什么问题
但是,我不熟悉AMF服务。因此无法告诉您它如何处理您的res对象。因为这就是AS3中对象的情况:
var startObject : Object;
var dublicate : Object;
startObject = new Object (); // creating new object
startObject.userID = 'myname'; // setting some parameters there
dublicate = startObject; // referencing you dublicate to the startObject
startObject.userID = null; // changeing startObject property
trace ( dublicate.userID ); // dublicate is also affected ( output: null )
// another example
startObject = new Object (); // creating new object
startObject.userID = 'myname'; // setting some parameters there
dublicate = new Object (); // creating new dublicate object
dublicate.userID = startObject.userID; // setting the dublicate parameter
// with start Object parameter
startObject.userID = null; // changing startObject property
trace ( dublicate.userID ); // dublicate is not affected, because it is not
// a reference but independant object.
// ( output: myname)
如果要使用任何属性全局创建新类:
package
{
public class GlobalVariables
{
static public var userName : String;
static public var userID : String;
}
}
然后您可以像这样访问它们:
GlobalVariables.userName
希望它能对您有所帮助。为了以这种方式使用全局变量,变量必须是静态的。或者,您可以将这个类设置为单身。