Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [as3] recuperare campo di testo in e.currentTarget

    ciao, ho un listener

    codice:
    private function lascia(m:MouseEvent):void
    		{
    			m.currentTarget.stopDrag();
    			
    			m.currentTarget.addEventListener(Event.ENTER_FRAME, controllaContatto);
    			
    			createPieces3();

    con questa funzione:



    codice:
    private function controllaContatto(e:Event):void
    		{
    			
    			
    			var i:int = pieces_container_mc.numChildren;
    			while (i--){
    				
    				if(e.currentTarget.hitTestObject(pieces_container_mc.getChildAt(i))){
    break; 
    				}
    }
    ogni clip che sposto per effettuare l'hittest con l'altra clip ha un campo di testo con una stringa e cioè dovrei recuperare quella stringa memorizzata nel campo di testo dentro questa clip:

    e.currentTarget.hitTestObject

    ma se faccio e.currentTarget.text mi da +

    TypeError: Error #2007: Il valore del parametro text deve essere diverso da null.
    at flash.text::TextField/set text()
    at Main/controllaContatto()

    sono tutte clip generate dinamicamente e questa è la funzione che mi genera il campo di testo

    codice:
    private function getPiece3(n:int):MovieClip
    		{
    			var clip_mc:MovieClip=new MovieClip();
    			clip_mc.mouseChildren=false;
    			clip_mc.graphics.beginFill(fillColor[n],1);
    			clip_mc.graphics.lineStyle(1,0x333333,1);
    			//clip_mc.graphics.drawRect(0,0,16,16);
    			clip_mc.graphics.drawRoundRect(0,0,16,16,5);
    			
    			var field_txt:TextField=new TextField();
    			field_txt.selectable=false;
    			field_txt.autoSize=TextFieldAutoSize.LEFT;
    			field_txt.alpha=.3;
    			field_txt.defaultTextFormat=getFormat();
    			field_txt.text=(n+1).toString();
    			field_txt.width=field_txt.textWidth;
    			field_txt.height=field_txt.textHeight;
    			field_txt.x=clip_mc.width/2-field_txt.width/2;
    			field_txt.y=clip_mc.height/2-field_txt.height/2;
    			
    			clip_mc.addChild(field_txt);
    			
    			
    			//clip_mc.addEventListener(MouseEvent.CLICK, onClick);
    			clip_mc.addEventListener(MouseEvent.MOUSE_DOWN,trascina);
    			clip_mc.addEventListener(MouseEvent.MOUSE_UP,lascia);
    			
    			
    		
    		
    			if(n==points_array.length-1)
    			{
    				clip_mc.alpha=0;
    				clip_mc.name="empty_mc";
    			}
    			return(clip_mc);
    		}
    se faccio così:

    codice:
    var ii:int = pieces_container_mc2.numChildren;
    				while (i--){
    					//win_txt.text=ii.toString();
    					win_txt.text=pieces_container_mc2.getChildAt(ii).field_txt.text;
    					pieces_container_mc.getChildAt(ii)=new MovieClip();
    					break; 
    				}
    mi da

    1119: Access of possibly undefined property field_txt through a reference with static type flash.displayisplayObject.

    come faccio a recupera re il campo di testo dentroieces_container_mc2.getChildAt(ii) o e.currentTarget.
    ???
    vi rigrazio dell'aiuto!

  2. #2
    Prova a fare un casting: MovieClip(e.currentTarget).

  3. #3
    non lo so se aggiungo le riga che mi dici tu non mi da niente non riesco ad arrivarci nemmeno da percorso assoluto che con cs4 as3 non so nemmeno più come si fa perchè sarebbe
    _root.holder_mc.pieces_container_mc.clip_mc.field_ txt.text

    ma non mi funziona il percorso assoluto, non so perchè e.currentTarget.text mi da null

    se faccio
    win_txt.text=e.currentTarget.name;
    mi da su un campo di testo il nome dell'istanza mi scrive
    istance235 o istance 340 con il numero dell'istanza duplicata sapendo questo nome o non so in quale altro modo come posso arrivare al campo di testo field_txt dentro istanceN
    mi date una mano? grazie dell'aiuto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.