2010-11-12 8 views
0

J'ai reçu ces quatre erreurs lorsque j'ai essayé de créer un bouton sur la scène qui supprimerait le texte que j'ai entré dans le texte d'entrée (ti). En fonction des scripts que j'ai et des erreurs, que dois-je écrire pour créer le bouton de suppression?Faire un bouton de suppression pour supprimer le texte dans le champ de texte d'entrée

Attempt to delete the fixed property text. Only dynamically defined properties can be deleted. Access of undefined property delete_btn. Access of possibly undefined property buttonDown through a reference with static type Class. Warning: 3600: Thdeclared property text cannot be deleted. To free associated memory, set its value to 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 
} 

Répondre

3

Vous avez plusieurs erreurs!

Tentative de suppression du texte de la propriété fixe. Seules les propriétés définies dynamiquement peuvent être supprimées. et Avertissement: 3600: Le texte de propriété déclaré ne peut pas être supprimé. Pour libérer la mémoire associée, définissez sa valeur sur null.

Il y a une erreur lorsque vous voulez supprimer le texte:

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

Vous devez le faire à la place:

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

Le mot-clé delete est utilisé pour d'autres choses (comme les dictionnaires de suppression entrées)

Accès à la propriété indéfinie delete_btn

  • Ici vous ne pas avoir créé le bouton "delete_btn" (ou il a un autre nom d'instance)

d'accès des buttonDown de propriété peut-être définie par une référence à la classe de type statique

  • MouseEvent.buttonDown n'existe pas, peut-être que vous voulez utiliser MouseEvent.CLICK ou MouseEvent.MOUSE_DOWN à la place
+0

Je suis arrivé ce now.TypeError d'erreur: Erreur # 1034: Type La coercition a échoué: impossible de convertir flash.events::[email protected] en flash.events.TextEvent. – starfox55

+0

Oui, désolé, je n'ai pas vu le TextEvent, il devrait être MouseEvent (ou juste l'événement) –

0
delete_btn.addEventListener(MouseEvent.CLICK, deletetxt); 
function deletetxt(event:Event):void { 
ti.text = ""; 
} 

Unkiwii avait raison ti.text = « » mais la contrainte ne pouvait convertir les événements si je viens de faire un événement: l'événement

+2

Vous devez changer l'événement: Evénement à l'événement: MouseEvent – Allan

Questions connexes