Flex 2 Beta 3 : Sprites

在Flex2Beta3中,Sprite类替代了传统的MovieClip,用于不需要时间轴的UI组件。添加Sprite子对象时,需确保其类型为IUIComponent。本文提供了一个具体的例子,展示了如何使用Sprite类来创建可拖动的UI组件。

Flex 2 Beta 3 : Sprites
  In Flex 1.5, typically if we want to add a shape or graphic to the stage, we would make either make a call to createEmptyMovieClip or utilize the MovieClipLoader and add the graphic to the stage. However, in Flex 2 Beta 3, this has changed slightly. 在flex1.5中,如果我们要想向舞台添加一些图像或者形状,那么我们要么调用createEmptyMovieClip 要么利用MovieClipLoader 将所需的资源添加到舞台,在F2B3里面这有些小小的改动
  In the Actionscript 3 spec, we’ve been introduced with a new class called the “Sprite” class. A Sprite object is similar to a movie clip, but does not have a timeline. Sprite is an appropriate base class for objects that do not require timelines. For example, Sprite would be a logical base class for user interface (UI) components that typically do not use the timeline. 在AS3规范里面,我们一直在介绍一个新的SPRITE类,SPRITE类和MC有些类似,但是它没有时间轴,因此它是那些不需要时间轴的UI对象的合适的基类。
  When we add a child to the stage of type Sprite, in Flex 2 Beta 3, that child must be of type “IUIComponent” instead of flash.display::Sprite. To reproduce this error we’d do the following:
  This is baaad… don’t do this! 如果我们要将一个子对象添加到舞台,那么它必须是IUIComponent而不是Sprite类,下面示范性的给出一断错误代码。不要学习它
  publicfunctiondrawStuff(): void
  {
  varcircle1 : Sprite = newSprite()
  circle1.graphics.beginFill(0xFFCC00 )
  circle1.graphics.drawCircle(40, 40, 40)
  circle1.buttonMode= true
  addChild(circle1 )
  } 以上为错误代码
  This is good… please do this…
  publicfunctiondrawStuff(): void
  {
  varref : UIComponent = newUIComponent()
  varcircle1 : Sprite = newSprite()
  circle1.graphics.drawCircle(40, 40, 40)
  circle1.buttonMode= true
  addChild(ref )
  ref.addChild(circle1 )
  } 以上为正确代码
  For a more complete example try this: 以下是一个更加详细的代码
  SpriteExample.as
  package
  {
  importflash.display.Sprite
  importflash.events.*;
  
  publicclassSpriteExample extendsSprite
  {
  privatevarsize:uint = 100
  privatevarbgColor:uint = 0xFFCC00;
  privatevarbox:Sprite;
  
  publicfunctionSpriteExample()
  {
  varchild:Sprite = newSprite()
  child.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler)
  child.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler)
  draw(child)
  box = Sprite(addChild(child))
  }
  
  privatefunctionmouseDownHandler(event:MouseEvent):void
  {
  trace(“mouseDownHandler”)
  varsprite:Sprite = Sprite(event.target)
  sprite.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler)
  sprite.startDrag()
  }
  
  privatefunctionmouseUpHandler(event:MouseEvent):void
  {
  trace(“mouseUpHandler”)
  varsprite:Sprite = Sprite(event.target)
  sprite.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler)
  sprite.stopDrag()
  }
  
  privatefunctionmouseMoveHandler(event:MouseEvent):void
  {
  trace(“mouseMoveHandler”)
  event.updateAfterEvent()
  }
  
  privatefunctiondraw(sprite:Sprite):void
  {
  sprite.graphics.beginFill(bgColor)
  sprite.graphics.drawRect(0, 0, size, size)
  sprite.graphics.endFill()
  }
  }
  }
  SpriteExampleApplication.mxml
  
  
creationComplete=“onCreationComplete()”>  creationComplete=“onCreationComplete()”>
  
  
  
import SpriteExample;
import mx.core.UIComponent;
import mx.controls.Alert;

public function onCreationComplete() : void
{
var spriteExample : SpriteExample = new SpriteExample();
var ref : UIComponent = new UIComponent();
addChild( ref );
ref.addChild( spriteExample );
}
]]>  import SpriteExample;
  import mx.core.UIComponent;
  import mx.controls.Alert;
  
  public function onCreationComplete() : void
  {
  var spriteExample : SpriteExample = new SpriteExample();
  var ref : UIComponent = new UIComponent();
  addChild( ref );
  ref.addChild( spriteExample );
  }
  ]]>
  
  
  And this is what you should get… go on ahead, you can drag the orange box around. 可以自己体会一下
  由{0}发表于 keunlee | 2006年06月28日, 07:47:22 上午 EDT

本文转自
http://cynergysystems.com/blogs/page/keunlee?entry=flex_2_beta_3_sprites

基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及电力行业技术人员,尤其适合从事配电网规划、运行与可靠性分析相关工作的人员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现流程;②学习如何通过Matlab构建配电网仿真模型并进行状态转移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值