flash开发1

本文介绍了一个使用Flax+.net05进行Flash项目开发的例子。通过HTTPWebService实现Flash与ASP.NET之间的通信,详细展示了从Flash端发送请求到ASP.NET处理并返回结果的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    flax+.net05开发flash项目。

    查找了N个资料,最后还是感觉官方网站提供的资料比较准确并且利于理解,只是全部是英文,需要耐着性子去一句一句的理解,最终总算圆满解决问题。

    采用httpwebservice和后台asp.net进行通讯,然后后台数据处理就全部交给asp.net处理,这个相信熟悉。net的人都比较熟悉了,这里就不再啰嗦了。下面给出一个案例:

    1.testflash.mxml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  3. <mx:Script>
  4.     <![CDATA[
  5.         import mx.rpc.events.ResultEvent;
  6.         import mx.rpc.events.FaultEvent;
  7.         import mx.controls.Alert;
  8.             public function handlePlain(event:ResultEvent):void
  9.             {
  10.                 shippingOptions.htmlText = event.result.toString();
  11.                 //Alert.show(shippingOptions.htmlText);
  12.             }
  13.             public function handleFault(event:FaultEvent):void
  14.             {
  15.                Alert.show(event.fault.faultString, "Error");
  16.             }
  17.     ]]>
  18. </mx:Script>
  19. <mx:HTTPService result="handlePlain(event);" fault="handleFault(event);" id="plainRPC" resultFormat="text"
  20.         url="http://localhost:2185/WebSite1/Gateway.aspx"
  21.         useProxy="false">
  22.         <mx:request xmlns="">
  23.             <zipcode>{tname.text}</zipcode>
  24.             <pounds>{tpwd.text}</pounds>
  25.         </mx:request>
  26.     </mx:HTTPService>
  27.     <mx:Button x="272" y="165" label="Button" id="btnOk" click="plainRPC.send()"/>
  28.     <mx:TextInput x="252" y="74" text="Text" width="159" alpha="1.0" color="#020B0B" fontWeight="normal" enabled="true" id="tname"/>
  29.     <mx:TextInput x="252" y="110" text="Text" width="159" id="tpwd" enabled="true" color="#090D0F"/>
  30.     <mx:Text x="209" y="267" text="Text" width="214" height="162" id="shippingOptions"/>
  31.     
  32. </mx:Application>

    2.Gateway.aspx

  1. <script language="C#" runat="server">
  2. public void Page_Load(Object sender, EventArgs E)
  3.   {
  4.     int zipcode;
  5.     double weight;
  6.     
  7.     if(Request.RequestType == "POST")
  8.     {
  9.         zipcode = Int32.Parse(Request.Form["zipcode"].ToString()); 
  10.         weight = Double.Parse(Request.Form["pounds"].ToString()); 
  11.     }
  12.     else
  13.     {
  14.         zipcode = Int32.Parse(Request.QueryString["zipcode"].ToString()); 
  15.         weight = Double.Parse(Request.QueryString["pounds"].ToString()); 
  16.     }
  17.     
  18.     ShippingCalculator shippingcalculator = new ShippingCalculator();
  19.     ShippingOption shippingOption = new ShippingOption();
  20.     
  21.     ArrayList al =  shippingcalculator.getShippingOptions(zipcode, weight);
  22.     StringBuilder stringBuilder;;
  23.     
  24.     foreach(Object obj in al)
  25.     {
  26.         stringBuilder = new StringBuilder();
  27.         shippingOption = (ShippingOption)obj;
  28.         stringBuilder.Append(shippingOption.getService());
  29.         stringBuilder.Append(": ");
  30.         stringBuilder.Append(shippingOption.getPrice());
  31.         stringBuilder.Append(" USD" + "/n");
  32.         Response.Write(stringBuilder.ToString());       
  33.     }
  34.   }
  35. </script>

3.ShippingCalculator.cs

  1. public ArrayList getShippingOptions(int zipcode, double pounds)
  2.     {
  3.         ArrayList options = new ArrayList();
  4.         double baseCost;
  5.         baseCost = Math.Round((double)zipcode / 10000) + (pounds * 5);
  6.         options.Add(new ShippingOption("Next Day", baseCost * 4));
  7.         options.Add(new ShippingOption("Two Day Air", baseCost * 2));
  8.         options.Add(new ShippingOption("Saver Ground", baseCost));
  9.         return options;
  10.     }

4.ShippingOption

  1. private String service;
  2.     private double price;
  3.     public ShippingOption(String aService, double aPrice)
  4.     {
  5.         this.service = aService;
  6.         this.price = aPrice;
  7.     }
  8.     public void setService(String value)
  9.     {
  10.         this.service = value;
  11.     }
  12.     public void setPrice(double value)
  13.     {
  14.         this.price = value;
  15.     }
  16.     public String getService() { return this.service; }
  17.     public double getPrice() { return this.price; }
内容概要:本文详细介绍了扫描单分子定位显微镜(scanSMLM)技术及其在三维超分辨体积成像中的应用。scanSMLM通过电调透镜(ETL)实现快速轴向扫描,结合4f检测系统将不同焦平面的荧光信号聚焦到固定成像面,从而实现快速、大视场的三维超分辨成像。文章不仅涵盖了系统硬件的设计与实现,还提供了详细的软件代码实现,包括ETL控制、3D样本模拟、体积扫描、单分子定位、3D重建和分子聚类分析等功能。此外,文章还比较了循环扫描与常规扫描模式,展示了前者在光漂白效应上的优势,并通过荧光珠校准、肌动蛋白丝、线粒体网络和流感A病毒血凝素(HA)蛋白聚类的三维成像实验,验证了系统的性能和应用潜力。最后,文章深入探讨了HA蛋白聚类与病毒感染的关系,模拟了24小时内HA聚类的动态变化,提供了从分子到细胞尺度的多尺度分析能力。 适合人群:具备生物学、物理学或工程学背景,对超分辨显微成像技术感兴趣的科研人员,尤其是从事细胞生物学、病毒学或光学成像研究的科学家和技术人员。 使用场景及目标:①理解和掌握scanSMLM技术的工作原理及其在三维超分辨成像中的应用;②学习如何通过Python代码实现完整的scanSMLM系统,包括硬件控制、图像采集、3D重建和数据分析;③应用于单分子水平研究细胞内结构和动态过程,如病毒入侵机制、蛋白质聚类等。 其他说明:本文提供的代码不仅实现了scanSMLM系统的完整工作流程,还涵盖了多种超分辨成像技术的模拟和比较,如STED、GSDIM等。此外,文章还强调了系统在硬件改动小、成像速度快等方面的优势,为研究人员提供了从理论到实践的全面指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值