Visualizzazione dei risultati da 1 a 4 su 4

Discussione: ciclo for

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    3,023

    ciclo for

    ciao,
    ho messo

    codice:
    System.useCodepage = true;
    dati = new LoadVars();
    dati.load("dati.txt");
    dati.onLoad = function(ok) {
    	n = 0;
    	for (var n:Number=0; n<2; n++) {
    createTextField ("node"+[n],10[n],this.node_x[n],this.node_y[n],20,20)
    	trace (n)
    	node[n].selectable=false;
    	node[n].text = this.node[n]
    	
    	node[n].border=true
    	}
    	}
    e nel txt esterno

    codice:
    &node0=prova&
    &node_x0=50&
    &node_y0=50&
    ma non funzia...dove sbaglio? :master:

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Prova così:

    Codice PHP:
    System.useCodepage true;
    dati = new LoadVars();
    dati.load("dati.txt");
    dati.onLoad = function(ok) {
        if(
    ok){
            for (var 
    n:Number=0n<2n++) {
                
    _root.createTextField ("node"+n,n,this["node_x"+n],this["node_y"+n],200,20);
                
    trace (n);
                
    _root["node"+n].selectable=false;
                
    _root["node"+n].text this["node"+n];
                
    _root["node"+n].border=true;
                }
            }
        } 

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    3,023
    ciao...grazie....funzia

    ma ho dei problemi con il cilo for.
    voglio creare un movieclip in cui mettere il textfield di cui sopra e disegnare un rettangolo....

    ho messo così ma non funzia

    System.useCodepage = true;
    dati = new LoadVars();
    dati.load("dati.txt");
    dati.onLoad = function(ok) {
    if (ok) {
    /// TEXT CREATION
    for (n= 0; n<2; n++)
    {
    _root.createTextField("node"+n, n, this["node_x"+n], this["node_y"+n], 200, 20);


    _root["node"+n].selectable = false;
    _root["node"+n].text = this["node"+n];
    _root["node"+n].border = true;

    /// RECTANGLES CREATION
    _root.createEmptyMovieClip("rectangle"+n,n+10);
    trace ("rectangle"+n)
    ("rectangle"+n)._y = 100;


    drawRoundedRectangle ("rectangle"+n, 240, 180, 20, 0xCCCCCC, 100);
    function drawRoundedRectangle(target_mc:MovieClip, boxWidth:Number, boxHeight:Number, cornerRadius:Number, fillColor:Number, fillAlpha:Number):Void {
    with (target_mc) {
    beginFill(fillColor, fillAlpha);
    moveTo(cornerRadius, 0);
    lineTo(boxWidth - cornerRadius, 0);
    curveTo(boxWidth, 0, boxWidth, cornerRadius);
    lineTo(boxWidth, cornerRadius);
    lineTo(boxWidth, boxHeight - cornerRadius);
    curveTo(boxWidth, boxHeight, boxWidth - cornerRadius, boxHeight);
    lineTo(boxWidth - cornerRadius, boxHeight);
    lineTo(cornerRadius, boxHeight);
    curveTo(0, boxHeight, 0, boxHeight - cornerRadius);
    lineTo(0, boxHeight - cornerRadius);
    lineTo(0, cornerRadius);
    curveTo(0, 0, cornerRadius, 0);
    lineTo(cornerRadius, 0);
    endFill();
    }
    }
    }
    }
    };


    suggestions?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Prova così:

    Codice PHP:
    System.useCodepage true;
    function 
    drawRoundedRectangle(target_mc:MovieClipboxWidth:NumberboxHeight:NumbercornerRadius:NumberfillColor:NumberfillAlpha:Number):Void {
                    
    with (target_mc) {
                        
    beginFill(fillColorfillAlpha);
                        
    lineStyle(10x000000100);
                        
    moveTo(cornerRadius0);
                        
    lineTo(boxWidth-cornerRadius0);
                        
    curveTo(boxWidth0boxWidthcornerRadius);
                        
    lineTo(boxWidthcornerRadius);
                        
    lineTo(boxWidthboxHeight-cornerRadius);
                        
    curveTo(boxWidthboxHeightboxWidth-cornerRadiusboxHeight);
                        
    lineTo(boxWidth-cornerRadiusboxHeight);
                        
    lineTo(cornerRadiusboxHeight);
                        
    curveTo(0boxHeight0boxHeight-cornerRadius);
                        
    lineTo(0boxHeight-cornerRadius);
                        
    lineTo(0cornerRadius);
                        
    curveTo(00cornerRadius0);
                        
    lineTo(cornerRadius0);
                        
    endFill();
                    }
                }
                
    dati = new LoadVars();
    dati.load("dati.txt");
    dati.onLoad = function(ok) {
        if (
    ok) {
            for (var 
    n:Number 0n<2n++) {
                
    _root.createTextField("node"+nnthis["node_x"+n], this["node_y"+n], 20020);
                
    _root["node"+n].selectable false;
                
    _root["node"+n].text this["node"+n];
                
    _root["node"+n].border true;
                
                
    /// RECTANGLES CREATION
                
    _root.createEmptyMovieClip("rectangle"+n10+n);
                
    //trace ("rectangle"+n);
                
    _root["rectangle"+n]._y 100+n;
                
    drawRoundedRectangle(_root["rectangle"+n], 240180200xCCCCCC100);
            }
        }

    In pratica il problema stava nel fatto che la function che disegna il rettangolo era dichiarata all'interno dell'oggetto "dati" e c'era un errore di percorso.

    In realtà non ho capito bene dove vuoi arrivare con questo codice, ma secondo me invece di creare elementi grafici e campi di testo "al volo" nel codice, ti conviene crearti un movieclip standard dell'elemento che vuoi ciclare e usare un semplice attachMovie nel for.

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.