[]LAYA的AS3项目碰见个问题,求解
仿AS3设计通用的VIEW,其他功能如果要用到这个东西,直接拖进视图编辑窗口即可。例子:创建一个myTexts的UI,myTexts.as继承之,为通用VIEW。
myTextsUI:
<View sceneWidth="100" sceneHeight="20" sceneColor="#000000" editorInfo="compId=1">
<Text y="0" x="0" var="txts" text="text" fontSize="12" editorInfo="compId=2"/>
</View>
mytexts.as:
public class myTexts extends myTextsUI
public function myTexts()
{
super();
}
override protected function initialize():void
{
super.initialize();
}
private var names:String="";
override public function set dataSource(value:*):void
{
super.dataSource = value;
if(dataSource==null) return;
names=dataSource.name;
txts.text = names;
////////以下为:根据参数来定义样式
var itemBasic:Object=ItemData.getItemData(ids);
txts.color = Constants.QUALITY_COLORS[itemBasic.quality];
txts.stroke = Constants.STROKE;
txts.strokeColor = Constants.STROKE_COLORS[itemBasic.quality];
///////
}
后 创建个dialog,将这个myTexts拖进UI里。起名为 autoText.
<Dialog ******>
*******
<UIView y="53" x="476" var="autoText" editorInfo="source=view/component/myTexts.ui;compId=8"/>
</Dialog>
现在问题来了。
在dialog里,只能 autoText.txts.text="张三"; 可显示
不能 autoText.dataSource={"name":"张三","ids":215}; 不可显示
求正确的创建和使用通用VIEW的方式。
myTextsUI:
<View sceneWidth="100" sceneHeight="20" sceneColor="#000000" editorInfo="compId=1">
<Text y="0" x="0" var="txts" text="text" fontSize="12" editorInfo="compId=2"/>
</View>
mytexts.as:
public class myTexts extends myTextsUI
public function myTexts()
{
super();
}
override protected function initialize():void
{
super.initialize();
}
private var names:String="";
override public function set dataSource(value:*):void
{
super.dataSource = value;
if(dataSource==null) return;
names=dataSource.name;
txts.text = names;
////////以下为:根据参数来定义样式
var itemBasic:Object=ItemData.getItemData(ids);
txts.color = Constants.QUALITY_COLORS[itemBasic.quality];
txts.stroke = Constants.STROKE;
txts.strokeColor = Constants.STROKE_COLORS[itemBasic.quality];
///////
}
后 创建个dialog,将这个myTexts拖进UI里。起名为 autoText.
<Dialog ******>
*******
<UIView y="53" x="476" var="autoText" editorInfo="source=view/component/myTexts.ui;compId=8"/>
</Dialog>
现在问题来了。
在dialog里,只能 autoText.txts.text="张三"; 可显示
不能 autoText.dataSource={"name":"张三","ids":215}; 不可显示
求正确的创建和使用通用VIEW的方式。
没有找到相关结果
已邀请:
要回复问题请先登录
2 个回复
cuixueying
赞同来自:
jackstong
赞同来自: