我在 ActionScript 3 中有一个项目,我要在图表中输出一堆数据并作为纯文本输出。不过,这不是问题。问题是当用户改变他想要显示的数据类型时。然后,我将删除图中当前显示的列,并添加新列。但是我的代码删除了所有列,因此根本没有图表!
我已经在 Flash CS5 中完成了这一切,列是我刚刚添加到舞台上的一个对象(一个矩形)的实例。所有实例都添加到容器“容器”中。当我想删除它们并添加我使用的新的时:
var container = new Sprite(); // The container for my diagram
function emptyContainer() {
if (container.numChildren > 0) {
container.removeChildAt(0);
}
}
哪个有效。
我有 switch 语句,可以根据用户输入添加不同的列。对象(矩形)的名称是“soyle”。实例的名称是“stolpe”(顺便说一句,我是挪威人,所以这就是那些奇怪的词的处理)
function fChange(event:Event) {
textToBeReturned = "";
switch (treCbox.selectedItem.label) {
case "Furu":
for (var a = 1; a < table.length; a++ ){
textToBeReturned += "I år: " + table[a][0] + " - " + table[a][1] + " millioner trær." + "\n";
// Diagram
var stolpe = new soyle;
stolpe.width = table[a][1];
stolpe.x = 20;
stolpe.y = 100 + (a * 30);
container.addChild(stolpe);
// Description for the columns
var textbox = new TextField;
textbox.text = "År " + table[a][0];
textbox.x = stolpe.width + 30;
textbox.y = stolpe.y;
container.addChild(textbox);
}
break;
case "Gran":
for (var b = 1; b < table.length; b++ ){
textToBeReturned += "I år: " + table[b][0] + " - " + table[b][2] + " millioner trær." + "\n" ;
var stolpe = new soyle;
stolpe.width = table[b][1];
stolpe.x = 20;
stolpe.y = 100 + (b * 30);
container.addChild(stolpe);
// Description for the columns
var textbox = new TextField;
textbox.text = "År " + table[b][0];
textbox.x = stolpe.width + 30;
textbox.y = stolpe.y;
container.addChild(textbox);
}
break;
case "Lauvtre":
for (var c = 1; c < table.length; c++ ){
textToBeReturned += "I år: " + table[c][0] + " - " + table[c][3] + " millioner trær." + "\n" ;
var stolpe = new soyle;
stolpe.width = table[c][1];
stolpe.x = 20;
stolpe.y = 100 + (c * 30);
container.addChild(stolpe);
// Description for the columns
var textbox = new TextField;
textbox.text = "År " + table[c][0];
textbox.x = stolpe.width + 30;
textbox.y = stolpe.y;
container.addChild(textbox);
}
break;
}
txtReturn.text = textToBeReturned;
};
我想知道在哪里放置我的删除所有孩子的功能,只删除之前添加的那些孩子。无论我将函数放在哪里(在 fChange 的开头,在每个案例的开头),都没有显示任何图表,无论是新的还是旧的。
当然有一个包含数据的数组,但我不发布它,因为它无关紧要。
感谢您的宝贵时间,并提前为您提供帮助!:)