View Single Post

  #5 (permalink)  
Old 29-08-08, 12:00
pavle1980 pavle1980 is offline
Junior Member
 
Join Date: Jun 2008
Posts: 20
Rep Power: 0
pavle1980 is on a distinguished road
Re: Tweener caurina di Zeh Fernando - tutorial 2

Grazie della dritta Flep :)
ora il mio getDefinitionByName funziona correttamente.

ho scritto un classe Square.as:
Code:
package
{
    import flash.display.*;

    public class Square extends MovieClip
    {
        private var _fla:MovieClip;

        public function Square(fla:MovieClip)
        {
            _fla=fla;
            quadrato();
        }
        public function quadrato():void
        {
            var rect:Shape = new Shape();
            rect.graphics.lineStyle(1);
            rect.graphics.beginFill(0x0000FF, 1);
            rect.graphics.drawRect(5, 5, 10, 10);
            _fla.addChild(rect);
        }
    }
}
e una classe Circle.as:
Code:
package
{
    import flash.display.*;

    public class Circle extends MovieClip
    {
        private var _fla:MovieClip;

        public function Circle(fla:MovieClip)
        {
            _fla=fla;
            var circ:Shape = new Shape();
            circ.graphics.lineStyle(1);
            circ.graphics.beginFill(0xff00ff, 1);
            circ.graphics.drawCircle(40, 10, 10);
            _fla.addChild(circ);
        }
    }
}
entrambe le richiamo in una classe main che ho nominato GetDefinitionByNameExample.as
Code:
package {
    import flash.display.*;
    import flash.utils.*;

    public class GetDefinitionByNameExample extends MovieClip {

    private var container_mc:MovieClip;
    private var clip:Square;
    private var clip_1:Circle;

    public function GetDefinitionByNameExample()
    {
        displayContent('Square');
        displayContent('Circle');
    }

      private function displayContent(s:String):void
    {
        container_mc = new MovieClip();
        addChild(container_mc);
        var ClassReference:Class = getDefinitionByName(s) as Class;
        var istance:MovieClip = new ClassReference(this);
        /*
        istance.scaleX=istance.scaleY=2;
        istance.x=100;
        istance.y=100;
        container_mc.addChild(istance);
        */
    }

    }

}
Ora ho un altro difetto che nel tuo codice non c'è:
Code:
        /*
         istance.scaleX=istance.scaleY=2;
         istance.x=100;
         istance.y=100;
         container_mc.addChild(istance);
         */
1) come faccio a modificare le proprietà scaleX e scaleY di "istance" dalla mia main?

2) se nelle classi Circle e Square elimino "_fla.addChild(clip);" nella mia main non riesco a vedere gli oggetti anche se vengono creati e anche se scrivo "container_mc.addChild(istance);"

Cosa sbaglio?
Reply With Quote