AS3 Flash:如何更新自定义类实例?

时间:2012-05-19 17:04:06

标签: actionscript-3 flash class instance

我使用AS3.0和Flash(不是Flex)。我创建了一个名为drawBarChart的自定义类,并创建了一个名为BarChart1的实例。

var BarChart1 = new drawBarChart(barChartX, barChartY, barChartWidth, barChartHeight, barChartScale)

如果我稍后在代码中更改变量barChartScale的值,则BarChart1实例不会更改。有人可以向我解释一下,使用barChartScale的新值更新BarChart1实例的正确语法是什么?

谢谢!

编辑:谢谢Loxxy和shaunhusain的回复。我已经尝试过实施你的方法Loxxy,但它还没有为我工作。通过一些跟踪语句,我可以看到我得到的_Scale变量可以在自定义类setChartScale函数中反映出来。但是,生成的_Scale更改似乎没有反映在最初创建实例的自定义类BarChart函数中。即,实例上的比例值对我来说还没有改变。我会继续努力吧!

1 个答案:

答案 0 :(得分:0)

您需要的是公开scale属性以便稍后访问。

这里没有什么特别的Action Script,只是编码练习。实现它是这样的:

public class BarChart 
    {    
        var _Scale:Number;

        public function BarChart(barChartX, barChartY, barChartWidth, barChartHeight, barChartScale) 
        {
            // Set other properties...

            _Scale = barChartScale;

        }

        public function setChartScale(scale:Number)
        {
            _Scale = scale; 
        }    
    }

现在将其用作:

        var chart = new BarChart(0,0,80,80,1);

        chart.setChartScale(1.5);     // At a later point..