`
#天琪#
  • 浏览: 159304 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

总结1

    博客分类:
  • AS3
阅读更多
1.关于flash.net.SharedObject

  简介:1.调用 SharedObject.getLocal() 在 Flash Player 应用程序中创建共享对象(保持在本地)。
        2.调用 SharedObject.getRemote() 以创建一个在服务器上永久保留的远程共享对象,如电话簿。

  常用属性:
    data属性:
    赋给对象的 data 属性 (property) 的属性 (attribute) 集合;可以共享和存储这些属性 (attribute)。每个特性都可以是任何 ActionScript 或 JavaScript 类型的对象(数组、数字、布尔值、字节数组、XML,等等)。例如,下面几行将值赋给共享对象的不同方面:

  var items_array:Array = new Array(101, 346, 483);
  var currentUserIsAdmin:Boolean = true;
  var currentUserName:String = "Ramona";
 
  var my_so:SharedObject = SharedObject.getLocal("superfoo");
  my_so.data.itemNumbers = items_array;
  my_so.data.adminPrivileges = currentUserIsAdmin;
  my_so.data.userName = currentUserName;
 
 

2. var request:URLRequest = new URLRequest(imageURL);
            loader= new Loader();
            loader.load(request);       
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, addBackGroundHandler);


    Loader 对象的 contentLoaderInfo 属性提供有关 Loader 对象正在加载的内容的信息(Loader.contentLoaderInfo 是一个LoaderInfo 对象,LoaderInfo --> EventDispatcher-->  Object)

    以前被一种现象蒙蔽了,不知道是什么时候看到了一行这样的代码 loader.addEventListener(Event.COMPLETE, addBackGroundHandler);一直都没仔细去查看,然后就一直都以为只要不涉及到加载过程之类的话,两种用法都行。经过实现证明,直接给Loader对象增加事件是不行滴,虽然编译器不会报错,但是添加事件之后是没什么响应滴。如果看到像loader直接添加事件而且运行成功的话,那那个loader应该是URLLoader类型,而不是Loader类型


3.<mx:HTTPService>组件可与所有的后端程序交互。例如,ASP、ASP.Net、JSP、PHP等。

     <mx:HTTPService>仅声明,但不运行,HTTPService.send()发送数据,就像time需要Timer.start()一样。如果希望返回的数据是XML类型,则必须添加 resultFormat="xml"语句。result事件是“当 HTTPService 调用成功返回时调度”。
   

4.关于MenuBar
  iconField 属性: 数据提供程序中字段的名称,该字段用于确定要为每个菜单项显示的图标。
   labelField 属性: 数据提供程序中的字段名称,用以确定每个菜单项的显示文本。
   dataProvider属性: 如果dataProvider是XML类型,MenuBar将会表现成类似下拉菜单的形式(类似菜单栏),如果dataProvider是XMLList类型,Menubar将会表现横向排列的样子(类似工具栏)

5.关于Icon
  给菜单或者是控件添加图标。必须在该控件里加上icon属性,icon属性为Class类型。
  如:   <mx:Button label="" icon="{openXMLIcon}"/>

            [Embed(source="icon/delete.PNG")]
            public var openXMLIcon:Class;//必须声明成public
            //不晓得如果不用Embed标签用纯AS3该怎么写

  

应用:
主程序:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" width="1024" initialize="init()" layout="absolute">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import flash.utils.getQualifiedClassName;

            private var xmlData:XML;
            private var theFirstIcon,theSecondIcon,theThirdIcon:Class;
           
            [Embed(source="icon/copy.PNG")]
            public var newXMLIcon:Class;
           
            [Embed(source="icon/delete.PNG")]
            public var openXMLIcon:Class;
           
            [Embed(source="icon/font.PNG")]
            public var saveXMLIcon:Class;
           
private function init():void
{
                 loaderXML.send();
}
private function photoResultHandler(e:ResultEvent):void
{
                   xmlData=new XML();
                   xmlData=XML(e.result);
                   trace(xmlData.tools[0].node is XMLList);
                   tools.dataProvider=xmlData.tools[0].node as XMLList;
}
]]>
</mx:Script>
<mx:HTTPService id="loaderXML" resultFormat="xml" url="file.xml"  result="photoResultHandler(event);"/>
    <mx:MenuBar id="tools" width="100%" height="30" labelField="@id" iconField="@icon" />
    <mx:Button x="10" y="79" label="" icon="{openXMLIcon}"/>
</mx:WindowedApplication>

file.xml:
<root>
   .
   .
   .
<!--  工具栏  tools -->
    <!-- ********* 新建,打开,保存图标××××××××××××× -->
   <tools id="文件">
       <node id="new"  label=""  icon="newXMLIcon"/>
       <node id="open" label="" icon="openXMLIcon"/>
       <node id="save" label="" icon="saveXMLIcon"/>
    </tools>
   
    <!--********* 打印图标×××××××××××××-->
    <tools>
       <node id="print" label="" icon="printXMLIcon"/>
    </tools>
    .
    .
    .
<root>

   //注意一下菜单图标的应用

  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics