奇怪用flash搞一个带有scale9grid的sprite可以嵌入到fx sdk里发布出来,并且fp10正常浏览.
但是如果直接用代码写出一个sprite,并且sprite用了scale9grid的话,fp10就不能浏览了
哪位给解释下这是怎么回事? 谢谢啦 ●︶ε︶●
整一天才测试出是fp版本问题,亏死了.... 凸囧凸
复制内容到剪贴板
代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
import mx.core.Container;
import flash.geom.Rectangle;
private var _ui:UIComponent;
private var _ct:Sprite;
private var _w:int = 300;
private var _h:int =300;
[Embed (source="ScaleGrid.swf",symbol="Spr")]
private var _cla:Class;
private var _spr:Sprite;
private function init():void{
// --------------------------------------------------------------------
// *** 使用方法一: 这个是嵌入flash里swf的
// *** 这个发布后无论fp9还是fp10都能够看到正常的spr
// --------------------------------------------------------------------
// *** 测试需要解除注释
/*
_spr = new _cla();
_spr.scale9Grid = new Rectangle( 12,12,70,70);
_spr.width = _w;
_spr.height = _h;
*/
// *** 使用方法一结束
// --------------------------------------------------------------------
// *** 使用方法二:自己绘图
// *** 这个发布后只能在fp9里查看到
// --------------------------------------------------------------------
// *** 测试需要解除注释
/*
_spr = new Sprite();
var g:Graphics = _spr.graphics;
g.beginFill(0xFF0000);
g.lineTo(_w , 0);
g.lineTo( _w , _h);
g.lineTo( 0 , _h);
g.lineTo( 0 , 0 );
g.moveTo (10,10);
g.lineTo(_w - 10 , 10);
g.lineTo(_w - 10 , _h - 10);
g.lineTo(10 , _h - 10);
g.lineTo( 10 , 10);
// _spr.setActualSize(_w , _h);
_spr.scale9Grid = new Rectangle( 10 ,10 , _w - 10*2 , _h - 10*2);
*/
// *** 使用方法二结束
_ui = new UIComponent();
_ui.addChild(_spr);
_ui.setActualSize(_w,_h);
addChild(_ui);
}
]]>
</mx:Script>
</mx:Application>单独as也是不能浏览
复制内容到剪贴板
代码:
package
{
import flash.display.Sprite;
import flash.display.Graphics;
import flash.geom.Rectangle;
public class Grid extends Sprite
{
public function Grid()
{
super();
init();
}
private var _spr:Sprite ;
private var _w:int = 300;
private var _h:int =300;
private function init():void{
_spr = new Sprite();
var g:Graphics = _spr.graphics;
g.beginFill(0xFF0000);
g.lineTo(_w , 0);
g.lineTo( _w , _h);
g.lineTo( 0 , _h);
g.lineTo( 0 , 0 );
g.moveTo (10,10);
g.lineTo(_w - 10 , 10);
g.lineTo(_w - 10 , _h - 10);
g.lineTo(10 , _h - 10);
g.lineTo( 10 , 10);
_spr.scale9Grid = new Rectangle( 10 ,10 , _w - 10*2 , _h - 10*2);
addChild(_spr);
}
}
}