0

AS3.0をFlash(Flexではなく)で使用しています。drawBarChartというカスタムクラスを作成し、BarChart1というインスタンスを作成しました。

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

コードの後半で変数barChartScaleの値を変更しても、BarChart1インスタンスは変更されません。BarChart1インスタンスをbarChartScaleの新しい値で更新するための正しい構文を誰かに説明してもらえますか?

ありがとう!

編集:あなたの返事をありがとうLoxxyとshaunhusain。私はあなたのアプローチLoxxyを実装しようとしましたが、それでもまだうまく機能していません。いくつかのトレースステートメントから、カスタムクラスのsetChartScale関数に反映された_Scale変数を変更できることがわかります。ただし、結果として生じる_Scaleの変更は、インスタンスが最初に作成されたカスタムクラスのBarChart関数には反映されていないようです。つまり、インスタンスのスケール値はまだ変更されていません。これからも頑張っていきます!

4

1 に答える 1

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..
于 2012-05-19T17:54:56.680 に答える