0

inputtext(ti)に入力したテキストを削除するボタンをステージ上に作成しようとすると、これらの4つのエラーが発生しました。私が持っているスクリプトとエラーに基づいて、削除ボタンを作成するために何を書くべきですか?

固定プロパティテキストを削除してみてください。動的に定義されたプロパティのみを削除できます。未定義のプロパティdelete_btnへのアクセス。静的型クラスの参照を介した、未定義の可能性のあるプロパティbuttonDownへのアクセス。警告:3600:宣言されたプロパティテキストは削除できません。関連するメモリを解放するには、その値をnullに設定します。

delete_btn.addEventListener(MouseEvent.buttonDown, deletetxt);
function deletetxt(event:TextEvent):void {
 delete ti.text
 }
ti.border = true
ti.addEventListener(TextEvent.TEXT_INPUT, onInput);
function onInput(event:TextEvent):void {
 if(ti.text.search('a')!=-1) load_image("http://i54.tinypic.com/anom5d.png", "ottefct");
 else if(ti.text.search('b')!=-1) load_image("http://i53.tinypic.com/2dv7dao.png", "rnd");
 else if(ti.text.search('c')!=-1) load_image("http://i51.tinypic.com/m8jp7m.png", "ssd");
}

var loaded_images:Dictionary = new Dictionary();

function load_image(url:String, id_name:String)
{
    var loader:Loader = new Loader();
    loader.name = id_name;
    var url_req:URLRequest = new URLRequest(url);
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadingComplete);
    loader.load(url_req);
}

function onLoadingComplete(evt:Event):void
{
    var img_name:String = evt.currentTarget.loader.name
    var spr_box:Sprite = new Sprite();
    spr_box.addChild(evt.currentTarget.loader);

    spr_box.mouseChildren = false;
    spr_box.doubleClickEnabled = true;

    spr_box.addEventListener(MouseEvent.MOUSE_DOWN, drag);
    spr_box.addEventListener(MouseEvent.MOUSE_UP, drop);
    spr_box.addEventListener(MouseEvent.MOUSE_WHEEL, rotate);
    spr_box.addEventListener(MouseEvent.DOUBLE_CLICK , unrotate);


    spr_box.width = 124;
    spr_box.height = 180;


    this.addChild(spr_box);
    loaded_images[img_name] = spr_box;
}


function drag(evt:MouseEvent):void
{
    evt.currentTarget.startDrag()
}

function drop(evt:MouseEvent):void
{
    evt.currentTarget.stopDrag()
}

function rotate(evt:MouseEvent):void
{
    evt.currentTarget.rotation = 90
}

function unrotate(evt:MouseEvent):void
{
    evt.currentTarget.rotation = 0
}
4

2 に答える 2

3

いくつかのエラーがあります!

固定プロパティテキストを削除してみてください。動的に定義されたプロパティのみを削除できます。 警告:3600:宣言さ れたプロパティテキストは削除できません。関連するメモリを解放するには、その値をnullに設定します。

テキストを削除したいときにエラーが発生しました:

function deletetxt(event:TextEvent):void {
    delete ti.text; // <-- Error HERE!
}

代わりにこれを行う必要があります。

function deletetxt(event:MouseEvent):void { // <-- Sorry, didn't see the "TextEvent"
    ti.text = "";
}

キーワードは他のdeleteもの(辞書エントリの削除など)に使用されます

未定義のプロパティdelete_btnへのアクセス

  • ここでは、「delete_btn」ボタンを作成していません(または別のインスタンス名があります)

静的型クラスの参照を介した、未定義の可能性のあるプロパティbuttonDownへのアクセス

  • MouseEvent.buttonDown存在しません、多分あなたは使用したいMouseEvent.CLICKMouseEvent.MOUSE_DOWN代わりに
于 2010-11-12T03:46:12.813 に答える
0
delete_btn.addEventListener(MouseEvent.CLICK, deletetxt);
function deletetxt(event:Event):void {
 ti.text = "";
 }

Unkiwii は ti.text = "" については正しかったのですが、強制は Events を変換できなかったので、event:Event にしました。

于 2010-11-12T04:38:03.993 に答える