2
开始 - 最好的说法是新的Flex/OOP。我一直试图添加一个基于StrokedElement的自定义类,以实现一个简单的网格(不像现有的Flex网格 - 这只是为了显示 - 不支持元素等...)Flex - 创建新的基本元素
我当前的课程外观像这样:
package ui.helpers
{
import flash.display.Graphics;
import spark.primitives.supportClasses.StrokedElement;
public class SGrid extends StrokedElement
{
public function SGrid()
{
super();
}
private var _gridSize:Number;
[Inspectable(category="General", minValue="1.0")]
public function get gridSize():Number
{
return _gridSize;
}
public function set gridSize(value:Number):void
{
if (value != _gridSize)
{
_gridSize = value;
invalidateSize();
invalidateDisplayList();
invalidateParentSizeAndDisplayList();
}
}
override protected function draw(g:Graphics):void {
for(var x:int; x < width; x+= _gridSize) {
g.moveTo(x,0);
g.lineTo(x,height);
}
for(var y:int; y < height; y+= _gridSize) {
g.moveTo(0,y);
g.lineTo(width,y);
}
}
}
}
这是从Flex spark.primatives.rect那儿剽窃 - 一切工作正常 - 但是当我把它添加到我的应用程序我希望做到这一点:
<helpers:SGrid id="gridOne" width="100" height="200" gridSize="10">
<s:stroke>
<s:SolidColorStroke color="0xCCCCCC" alpha="0.8" />
</s:stroke>
</helpers:SGrid>
但在实际情况是这样的:
<helpers:SGrid id="gridOne" width="100" height="200" gridSize="10">
<helpers:stroke>
<s:SolidColorStroke color="0xCCCCCC" alpha="0.8" />
</helpers:stroke>
</helpers:SGrid>
如果我使用s:stroke,那么我会得到错误。显然,我很高兴它的作品 - 但我想明白为什么这里的区别?
这很有道理!非常感谢您的快速回答。 – DrPumpkinhead 2011-04-14 15:30:47