flex开发工作笔记

//=====================================
图片绑定
[Embed(source="../assets/hello.png")]
public var Hello:Class;
上图在四条红线的位置把图片块成的 9 块,四个角,四条边和中间一块,在缩放的时候,四个角始终不变,两条横向边只缩放宽度,高度不变,两条纵向的边只缩放高度,宽度不变,中间一块宽和高同时缩放,这就是 9 切片缩放的原理。使用这种技术一般是在使用图片做控件的皮肤时使用,很多控件的样式四个角是圆的或不规则的,所以使用这种缩放技术可以保证控件与图片的大小不一致的时候,图片看起来也不变形。

上面图片的交图对 Embed 标签的设置是:
Embed(source="../assets/msk.gif", scaleGridTop="4", scaleGridLeft="4", scaleGridRight="16", scaleGridBottom="16");
//=====================================
myBgMusic = new gameMusic.bgMusic() as Sound;
/**
   *背景音乐
   */
  [Embed(source="/data/music/bgMusic.mp3")]
  public static var bgMusic:Class;
//=====================================
swf禁止缩放
fscommand("allowscale",false);
//=====================================
html插入flex生成的swf
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="600" height="455"> 
      <param name="movie" value="game/PokerGame.swf"> 
       <param name="wmode" value="transparent"> 
       <embed src="game/PokerGame.swf" width="600" height="455" type="application/x-shockwave-flash" /> 
</object>
//=====================================
按照数值大小排序
arr.sort(Array.NUMERIC); 
//=====================================
/** 整张大图的bitmapdata **/
  private static var bitmapdata:BitmapData;
  
  /**
   *根据矩形区域,返回该bitmap图
   * @param reg 矩形区域
   * @return Bitmap
   */
  public static function getBitMap(reg:Rectangle):Bitmap
  {
   var point:Point =  new Point(0, 0);
   var bitmapdataPoker : BitmapData = new BitmapData(72,96); 
   bitmapdataPoker.copyPixels(bitmapdata, reg,point);
   
   var tempBitmap:Bitmap = new Bitmap(bitmapdataPoker);
   
   tempBitmap.width = reg.width;
   tempBitmap.height = reg.height;
   
   return tempBitmap;
  }
//=====================================
C:\Program Files\Common Files\Adobe\Adobe PCD\cache
//=====================================
embed图片之后怎么获取其BitmapData
[Bindable]
  [Embed(source="assets/ui/card.png")]
  public static var card:Class;
关键数new啊

bitmapdata = (new card() as Bitmap).bitmapData;
//=====================================
没有var 常量
private static const pokerHeight:int = 96;
//=====================================

将xml文件 或者txt 文本文件 用embed方式加载进flex里面
/**xml数据文件**/
    [Embed(source="CrossData.xml", mimeType="application/octet-stream")]
   private static var CrossData:Class;


var byteDataXml:ByteArray = new CrossData();
    
var xml:XML =  XML(byteDataXml.readUTFBytes(byteDataXml.bytesAvailable)); 

//=====================================

Flex页面跳转方式二:使用navigateToURL,主要方式如下:

var url:String="http://localhost:8080/Flex_Java_Demo/  welcome.html";
 var request:URLRequest=newURLRequest(url);
 navigateToURL(request,"_blank"); 
Flex页面跳转方式三:引用flash中的importflash.external.ExternalInterface这个接口,它能提供像jsp中window.location.href方法一样方便,主要代码为:

ExternalInterface.call("function(){window.location.  href='http://localhost:8080/Flex_J2eeDemo  /bin/Welcome.html';}"); 
//=====================================

ItemRenderer 渲染器中禁止listrullover交互的属性
autoDrawBackground="false"


//=====================================
addElement和addChild的兼容和切换this无法加载_map的解决方案

var container:UIComponent = new UIComponent();
 this.addElement(container );

 container.addChild(_map);

//=============================
/**
   * 改变声音大小
   * @param volume声音的大小
   */
  public static function OnChangeVolumn(volume:Number):void
  {
   var transform:SoundTransform = channel.soundTransform ;
   transform.volume = 0.1 * volume;
   channel.soundTransform = transform; 
  }

posted @ 2012-04-20 11:31  mnxue  阅读(230)  评论(0)    收藏  举报