0

このエラーが発生し続けます:

TypeError: Error #1006: setSize is not a function.
    at circles::SpiroUI/doSliders()[/Users/wakemana/Documents/Adobe Flash Builder 4/SpiroPaint/src/circles/SpiroUI.as:74]
    at circles::SpiroUI()[/Users/wakemana/Documents/Adobe Flash Builder 4/SpiroPaint/src/circles/SpiroUI.as:42]
    at circles::Spirograph()[/Users/wakemana/Documents/Adobe Flash Builder 4/SpiroPaint/src/circles/Spirograph.as:115]
    at circles_fla::MainTimeline/frame1()[circles_fla.MainTimeline::frame1:2]

インポートを含めfl.controls.*fl.events.*スライダー UI コンポーネントがドキュメント ライブラリに含まれていることも確認しました。

UI が奇妙な方法でちらつき続け、すべてのフレームまたは何かでコンポーネントを再描画しているようです。これは以前はすべて機能していましたが、いくつかの新しいクラスを導入して以来、機能しなくなりました。アプリケーション内の残りの描画は機能していますが、UI コンポーネントがちらつき、機能しません。

助けていただければ幸いです:)

4

2 に答える 2

1

コンパイラが関数が存在するオブジェクトを見つけていないため、どこかで何かが定義されていません。

スタックに
は circles::SpiroUI/doSliders() ... /circles/SpiroUI.as:74があります

したがって、可能であれば、少なくともその行で質問を更新して、setSize がどのように呼び出されているかを確認することをお勧めします。

別の方法として、74 行目にブレークポイントを設定し、オブジェクトがエラーに達する前に何が利用できるかを調べます。

エラーが以前のものではないことを確認するために、UIコンポーネントについてあなたが持っていたものに従いました。

私は小さなドキュメントクラスを持っていますslider

import flash.display.Sprite;
    public class slider extends Sprite
    {
        var sp:SpiroUI;
        public function slider()
        {
            sp = new SpiroUI();
            sp.doSliders();
            sp.x = 100;
            sp.y = 100;
            addChild(sp);

        }
    }

そして、あなたがどのようにSpiroUIを持っていたかを推測しました。

import fl.controls.Slider;

public class SpiroUI extends Slider
{
    public function SpiroUI()
    {
        super();
    }

    public function doSliders():void
    {
        setSize(10,10);
    }   

}

確かに知る方法はありませんが、エラーを再現するためにさまざまな方法を試しましたが、ルートにないswf内の関数を呼び出す場合、通常はこれが予想されます。

于 2011-04-10T00:31:10.707 に答える
1

あなたのクラスは、クラスに提示されていないメソッドSpiroUIを呼び出そうとしているようです。setSize

ロブ

于 2011-04-09T16:38:05.413 に答える