2012-01-16 7 views
-1

だから私は画面上に文字を持っているので、カメラが動くと(youtubeのマニフェスト222のおかげで)、私はプレーヤーが通過できない壁を持っています。ステージに追加するボックスもありますが、ボックスが別のオブジェクトの上にコードを追加するようにしたいのです。別のオブジェクトにas3を追加する

package { 
    import flash.display.Sprite; 
    import flash.display.MovieClip; 
    import flash.events.Event; 
    import flash.events.MouseEvent; 
    import flash.text.TextField; 
    import flash.display.Stage; 

public class Main extends MovieClip { 
    // player 

    public var characterEndMC:MovieClip = new charEndMC(); 
    public var arrayOfBarrier:Array = new Array(); 

    //box 
    private var boxAmount:Number=0; 
    private var boxLimit:Number=20; 
    private var _root:Object; 
    //$txt 
    public var money:int=0; 
    public var gold:int=0; 
    public var my_scrollbar:MakeScrollBar; 

    //$$ 
    public var testnumber:Number=1; 
    //enemy1 
    private var e01Amount:Number=0; 
    private var e01Limit:Number=2; 



    public function Main() { 


     $box.click$.move$.buttonMode=true; 
     $box.click$.clickmini$.buttonMode=true; 
     backgroundpic.visible = false; 



     character_mc["charAngle"]=0; 
     character_mc["moveX"]=0; 
     character_mc["moveY"]=0; 
     character_mc["walkSpeed"]=5; 
     stage.addEventListener(MouseEvent.CLICK, charMove); 


     //box add listener 
     addEventListener(Event.ENTER_FRAME, eFrame); 

     //moneybox 
     $box.click$.move$.addEventListener(MouseEvent.MOUSE_DOWN, startmoving$); 
     $box.click$.move$.addEventListener(MouseEvent.MOUSE_UP, stopmoving$); 
     $box.click$.clickmini$.addEventListener(MouseEvent.CLICK, c$mini); 

     my_scrollbar=new MakeScrollBar(scroll_mc,scroll_text); 




    } 



    public function charLoop(event:Event) { 
     if (character_mc.hitTestPoint(character_mc["charEnd"].x,character_mc["charEnd"].y,true)) { 


      character_mc["moveX"]=0; 
      character_mc["moveY"]=0; 
      this.removeChild(character_mc["charEnd"]); 
      character_mc.removeEventListener(Event.ENTER_FRAME, charLoop); 



     } 

     for (var j:int = 0; j < arrayOfBarrier.length; j++) { 
      if (character_mc.hitTestObject(arrayOfBarrier[j])) { 
       character_mc.x-=character_mc["moveX"]; 
       character_mc.y-=character_mc["moveY"]; 
       character_mc["moveX"]=0; 
       character_mc["moveY"]=0; 
       this.removeChild(character_mc["charEnd"]); 
       character_mc.removeEventListener(Event.ENTER_FRAME, charLoop); 

      } 
     } 

     for (var i:int = 0; i < this.numChildren; i++) { 
      this.getChildAt(i).x-=character_mc["moveX"]; 
      this.getChildAt(i).y-=character_mc["moveY"]; 

     } 

     character_mc.x+=character_mc["moveX"]+.05; 
     character_mc.y+=character_mc["moveY"]+.05; 


    } 

    public function lookAtMouse() { 
     var characterMC:MovieClip=character_mc; 
     characterMC["charAngle"] = Math.atan2(this.mouseY - characterMC.y, this.mouseX - characterMC.x)/(Math.PI/180); 

     characterMC.rotation=characterMC["charAngle"]; 
    } 
    public function charMove(event:MouseEvent) { 
     lookAtMouse(); 
     this.addChild(characterEndMC); 
     characterEndMC.x=this.mouseX; 
     characterEndMC.y=this.mouseY; 

     character_mc["charEnd"]=characterEndMC; 
        character_mc["charEnd"].visible = false; 


     character_mc["moveX"]=Math.cos(character_mc["charAngle"]*Math.PI/180)*character_mc["walkSpeed"]; 
     character_mc["moveY"]=Math.sin(character_mc["charAngle"]*Math.PI/180)*character_mc["walkSpeed"]; 



     character_mc.addEventListener(Event.ENTER_FRAME, charLoop); 


    } 




    //boxadding 
    private function eFrame(event:Event):void { 
     if (boxAmount<boxLimit) { 
      boxAmount++; 

      var _box:Box=new Box ; 
      _box.addEventListener(MouseEvent.CLICK,boxclick); 
      _box.buttonMode=true; 
      _box.y=Math.random()* backgroundpic.height; 

      _box.x=Math.random()* backgroundpic.width; 

      addChild(_box); 

     } 
     if (e01Amount<e01Limit) { 
      e01Amount++; 

      var Enemy1: enemy01=new enemy01 ; 
      Enemy1.addEventListener(MouseEvent.CLICK, en01click); 
      Enemy1.buttonMode=true; 
      Enemy1.y=Math.random()*stage.stageHeight; 

      Enemy1.x=Math.random()*stage.stageWidth; 

      addChild(Enemy1); 

     } 

    } 

    public function boxclick(event:MouseEvent):void { 

     var _box:Box=event.currentTarget as Box; 
     logtxt.appendText("You collected " + testnumber + " boxes" + "\n"); 
     character_mc["moveX"] = _box.y + 40 + (character_mc.height/2); 
     character_mc["moveY"]=_box.x; 


     logtxt.scrollV=logtxt.maxScrollV; 
     var randVal$:Number=Math.random(); 
     if (randVal$>=0.49) { 
      money+=100; 
     } else if (randVal$ <= 0.50 && randVal$ >= 0.15) { 
      money+=200; 
     } else if (randVal$ <= 0.14 && randVal$ >= 0.02) { 
      gold+=10; 
     } else if (randVal$ == 0.01) { 
      money+=200; 
      gold+=20; 
     } 


     testnumber++; 



     boxAmount--; 


     $box.box$in.box$insins.Moneytxt.text=String(money); 
     $box.box$in.box$insins.Goldtxt.text=String(gold); 
     removeChild(_box); 

    } 

    private function startmoving$(event:MouseEvent):void { 
     $box.startDrag(); 
    } 
    private function stopmoving$(event:MouseEvent):void { 
     $box.stopDrag(); 
    } 
    private function c$mini(event:MouseEvent):void { 
     $box.click$.move$.visible=false; 
     $box.box$in.visible=false; 

     $box.y=200; 
     $box.x=100; 
     $box.click$.clickmini$.addEventListener(MouseEvent.CLICK, reclickbox$); 
     $box.click$.clickmini$.removeEventListener(MouseEvent.CLICK, c$mini); 


    } 
    private function reclickbox$(event:MouseEvent):void { 
     $box.click$.clickmini$.addEventListener(MouseEvent.CLICK, c$mini); 
     $box.click$.clickmini$.removeEventListener(MouseEvent.CLICK, reclickbox$); 
     $box.y=70; 
     $box.x=250; 
     $box.click$.move$.visible=true; 
     $box.box$in.visible=true; 
    } 

    public function scroll_text(n:Number) { 

     logtxt.scrollV = Math.round((logtxt.maxScrollV - 1) * n) + 1; 
    } 

    public function en01click (event:MouseEvent){ 

    } 

} 
} 
+0

は何をここで何をしたいですか? 'DisplayObject'を他のステージに追加したいのであれば、' DisplayObject.AddChild() 'を使用してください。 – annonymously

答えて

0

だこと:

var _box:Box = new Box();  
receivingDisplayObjectInstanceName.addChild(_box); 
+0

ハッハッハーは、私はそれがはっきりしているとは思わないと信じています。あなたはおそらく私がこのas3の事に初めてだったと推測した。 – thor625

+0

私は_box.y = Math.random()* backgroundpic.height; \t \t \t \t _box.x = Math.random()* backgroundpic.width;それをランダムに配置する。 – thor625

+0

_box.y = Math.random()* backgroundpic.height; _box.x = Math.random()* backgroundpic.width – crooksy88

関連する問題