forked from: GYAOS_sample

by yew forked from GYAOS_sample (diff: 819)
上下のフレームはアメーバを意識したものに
なります。

背景とキャラクターはランダムに変更したかったのですが出来ていません。
アタックボタンの機能と敵のみ攻撃出来る所までしか作れていません。
ユーザーの下のアタックボタンの上にある
3つのボタンは、3すくみで敵1ターンの
勝負の基準になります。
talkは敵を仲間にするとき使用し、
ネクストでは次のシーンに切り替える事が出来る予定です。
ディフェンスでは3回まで攻撃を増やす事が出来ます。


♥0 | Line 189 | Modified 2011-01-31 23:54:11 | MIT License | (replaced)
play

ActionScript3 source code

/**
 * Copyright yew ( http://wonderfl.net/user/yew )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/yrTu
 */

/**
 * Copyright hacker_9vjnvtdz ( http://wonderfl.net/user/hacker_9vjnvtdz )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/f6f2
 */

/*
    attak
*/
//package1
    package//パッケージ1つ1つは国の様//グローバル
{
    //ミステイクsimport com.bit101.components.NextButton;//勘違い    
    import com.bit101.components.PushButton;//なにかのボタンの在処を示す//なんだろこれ??
    
    // 攻撃ボタン//どうやらどこからか取ってきたもののようだ//m43//PushButtonにより判明
    
    //importは、ファイルの場所を表している
    //importは設計図なので、1つで良い
    import flash.display.Loader;//画面、なにかをロードしている//m42 // モンスター表示用コンテナ
    import flash.display.MovieClip;//画面、ムービークリップ//m32に使用
    import flash.display.Sprite;//画面、描画出来るやつ?//
    import flash.events.Event;//え?イベント?////m70
    import flash.events.MouseEvent;//クリックイベント?//ムービークリップ//m86
    import flash.events.TimerEvent;//タイマー?//m137
    import flash.net.URLRequest;//M1のロード用////m71
    //import flash.net.URLRequest;//予備まだあいてる
    import flash.system.LoaderContext;//m69
    import flash.utils.Timer;//タイマー//m46////m53 攻撃エフェクト用のタイマー…タイマー?
    import flash.text.TextField;//m95//名札を付ける、winTextと言う名のTextField();を新しく作る
    import flash.text.TextFieldAutoSize;//TextFieldAutoSize//m98;//センターに表示、アウトサイズ??
    import flash.text.TextFormat;////m96//テキストのテキストフォーマットの中_textで使用3番目に使用
    import flash.display.Loader;//画面、ロード
    //importとvarを間違えそうになる
     import flash.geom.Matrix;
    import flash.display.Bitmap;
    import com.bit101.components.PushButton;
    
  
  
    import flash.system.LoaderContext;
   // import flash.utils.Timer;
   
      
 //swf
 [SWF(width="470", height="455", frameRate="30", backgroundColor="#FFFFFF")]//SWFの時の表示
   


    //今から始まるよ
    
    //pubric crass {
    public class GyaosSample extends MovieClip//m32//今からムービークリップつかいます 
    {
        
        //パス       
        //この背景使うよ
        private var HK1:String="http://assets.wonderfl.net/images/related_images/b/b8/b879/b87944154d7ee293d41331d2517a45b794abc8f3"
        private var HK2:String="http://assets.wonderfl.net/images/related_images/5/5d/5d95/5d95641165d448939ce3ac264225a97b40fd4d1e"
        
        //private var currentMonster:uint;
        
        
        
        

        
        //attack用ボタン
        private var WB:String="http://assets.wonderfl.net/images/related_images/5/59/598a/598a3e1961e24c6b75c35666c827ae5e832a0d87"
        private var BB:String="http://assets.wonderfl.net/images/related_images/2/27/2721/27211e785a935facb5391c56f834bc53b267e867"
        private var CB:String="http://assets.wonderfl.net/images/related_images/8/86/861c/861c997d2ada2578977e60acac813adc3aa58db4"
        //*wind
        //*block
        //*cloud
        //このフレーム使うよ
        
        //win&loss表示
        private var WN:String="http://assets.wonderfl.net/images/related_images/8/8c/8cf6/8cf68be143773fc5669a94431211ea73d77acb1c"
        private var WN2:String="http://assets.wonderfl.net/images/related_images/b/b7/b767/b767c8968b0098dd5c3795fb207e2a056c3ff6b0"
        private var WN3:String="http://assets.wonderfl.net/images/related_images/f/f2/f24c/f24c896b43e1a1dd3e5e3b81a09858583a4b3314"
        private var WN4:String="http://assets.wonderfl.net/images/related_images/1/12/12da/12dabead58d878de08295868ef71df875e4795fc"
        private var WN5:String="http://assets.wonderfl.net/images/related_images/f/fe/fed3/fed339e4e3121ce5615ec10c3b2aa4e70f5d9538"
        //WN4が気にくわなかったのでWN5使用
        private var LS2:String="http://assets.wonderfl.net/images/related_images/2/29/2908/2908e0e5d733770ff04c87937ac97c3464d13284"
        private var LS:String="http://assets.wonderfl.net/images/related_images/c/cb/cb0b/cb0b9548aafca15cb7e600425bda99719ae82734s"
        private var LS3:String="http://assets.wonderfl.net/images/related_images/f/f2/f24c/f24c896b43e1a1dd3e5e3b81a09858583a4b3314"
        private var LS4:String="http://assets.wonderfl.net/images/related_images/1/18/18a3/18a34f9fa98c11acf4262b0708f6b79ce52199fa"
        
        
        //user類表示
        private var USER:String="http://assets.wonderfl.net/images/related_images/2/2b/2b29/2b29ca92018f5842ac084129aced37c97b53d2ab"
           private var CPU:String="http://assets.wonderfl.net/images/related_images/7/7c/7cf5/7cf53ae96b2de49c345f1dd05711d38f7b90cbd1"
       //private var HK1:String="http://assets.wonderfl.net/images/related_images/a/ad/adc3/adc339c4dc0d84476308f7c544d2455e666d85e5"
    
        //attack、ボタンとHPが表示されない事態発生、絵を背景にすると、それは置いといてfirefoxで
         
        //画像のURLをコピーではなく、リンクのコピーにする事
        
        //画像のURLをコピーにすると、本来の表示じゃなくなる、
 
         //背景のパス
         //public var HK1:String="http://assets.wonderfl.net/images/related_images/a/aa/aa9d/aa9dd1ee07a9cac964acb732b424567f786de75am"
        //背景を置くとなぜか、テキストが隠れてしまう。という問題。
        //newとかで出てくるのが多いみたい上は    
        //publicは定義?
        
        //モンスターのパス
        //このモンスター使うよ
        /*
        private var imgUrl:Array =["http://assets.wonderfl.net/images/related_images/6/6d/6d2a/6d2aac9165308e05d07f52232f99bfe9d52a06fb"
                                   ,"http://assets.wonderfl.net/images/related_images/9/9a/9a67/9a674310835d956620db269594b14241d8c079ba"
                                   ,"http://assets.wonderfl.net/images/related_images/5/57/5728/5728bb5057da70c62a2bff824fac59cf139bcb44" ]
        
        private var num:uint = (imgUrl.length * Math.random()) >>> 0;
        private var loaders:Array = []; //何も入ってないローダーズという名の配列
        private var actions:Array = [];//  "の配列
         
        private var enemy:Loader; // モンスター表示用コンテナ
        //ローダーズというなのアレイ
        //モンスター表示用コンテナのエネミー
       //クリックしたら攻撃されて何回かで、倒せる
       //クリックして攻撃したら後ろに攻撃という名のエフェクトが出現
       //戦闘開始で、ループされる。
       
       
       
        private var field:Sprite = new Sprite;//これ?Sprite??
        //あれでもフィールドいらないし;
        private var hp:int = 100; // モンスターのHP//モンスターのhpと言う名前の100
        
        
        //これprivateでしょ
        private var message:TextField = new TextField();
        public var movable:Boolean = false;
        
        */
        //敵
           private var M1:String="http://assets.wonderfl.net/images/related_images/6/6d/6d2a/6d2aac9165308e05d07f52232f99bfe9d52a06fb"; // モンスターURL
        //味方
           private var M3:String="http://assets.wonderfl.net/images/related_images/5/57/5728/5728bb5057da70c62a2bff824fac59cf139bcb44";
         //配列化i,mgUrlという名前の:配列
         /*
        private var HMS:Array =["http://assets.wonderfl.net/images/related_images/6/6d/6d2a/6d2aac9165308e05d07f52232f99bfe9d52a06fb",
                                "http://assets.wonderfl.net/images/related_images/9/9a/9a67/9a674310835d956620db269594b14241d8c079ba",
                               "http://assets.wonderfl.net/images/related_images/5/57/5728/5728bb5057da70c62a2bff824fac59cf139bcb44" ]
        */
        //numって何って思ったけど名前
        /*
        private var num:uint = (HMS.length * Math.random());//
        private var loaders:Array=[]; //何も入ってないローダーズという名の配列
        private var actions:Array=[];//  "の配列
       
           private var field:Sprite = new Sprite;//これ?Sprite??
           private var enemy:Loader; // モンスター表示用コンテナ
           //    private var field:Sprite = new Sprite;//これ?Sprite??
       */
         
        
        
        //private var message:TextField = new TextField();
       //public var movable:Boolean = false;
       // private var enter:Array = [ [enterEffect, [], 30 ], [ addMonstor ] ]; 
       //その他のモンスターのパス
        //public var M1:String="http://assets.wonderfl.net/images/related_images/6/6d/6d2a/6d2aac9165308e05d07f52232f99bfe9d52a06fb"
        //var M2:String="http://assets.wonderfl.net/images/related_images/9/9a/9a67/9a674310835d956620db269594b14241d8c079ba"
        //var M3:String="http://assets.wonderfl.net/images/related_images/5/57/5728/5728bb5057da70c62a2bff824fac59cf139bcb44"
         /*public*///って何!?
         
         
        
        
        //フレームのパス
       
        //このフレーム使うよ
         //フレーム1
         private var F1:String="http://assets.wonderfl.net/images/related_images/a/ad/adc3/adc339c4dc0d84476308f7c544d2455e666d85e5";
         //フレーム2
         private var F2:String="http://assets.wonderfl.net/images/related_images/6/6c/6c3e/6c3eb87e48c5b52bf43320f5b66b642131ab65ec";
          //定数にすればいいらしい
        
           //順番に意味あったっけ?
        //なきゃいけないもの
        private var loader:Loader;
        private var loader2:Loader;//背景用表示コンテナ
        private var attackButton:PushButton; // 攻撃ボタン、アタックボタンと名付けられている:pushButton
        private var mamoriButton:PushButton;//ディフェンス(仮)1
        private var nakamanisuruButton:PushButton;//仲間にするボタン
        private var NextButton:PushButton;//次の戦闘に進むボタン
        //private var haiButton:PushButton;//はいボタン
        //private var tigauyoButton:PushButton;//いいえボタン
        private var loader13:Loader; // モンスター表示用コンテナ//m42//名札付ける、loaderで、:Loaderというクラス名を使用する
        private var loader3:Loader; //味方モンスター表示用コンテナ
        private var loader4:Loader; //ブロックボタン用表示コンテナ
        private var loader5:Loader;//ウインドボタン用表示コンテナ
        private var loader6:Loader;//クラウドボタン用表示コンテナ
        private var loader7:Loader;//フレーム用表示コンテナ
        private var loader8:Loader;//フレーム用表示コンテナ
        private var loader9:Loader;//loss用表示コンテナ
        private var loader10:Loader;//win用表示コンテナ
        private var loader11:Loader;//USER用コンテナ
        private var loader12:Loader;//CPU用コンテナ
        private var monster:Loader;//  モンスターズ様画像コンテナ
           //どうやらどこからか取ってきたもののようだ//m43
        
        
        
        private var hpView:HpView; // HP表示
        private var hpView2:HpView; // 味方モンスターのHP表示
        //(hpView//あっhpViewだ!!??????
        //あんまりわかってない
        
        
        private var blinkTimer:Timer; // 攻撃エフェクト用のタイマー…タイマー?//m46どうやら攻撃されて消えたりついたりする仕組みを表しているようだ
        
        private var hp:int=222; // モンスターのHP//名前hp:intというクラス名=100;(値??)
        private var hp2:int=234;//味方モンスターのHP;
            
        //背景のロード完了時の処理//背景は背景なのでこの場所/ランダムにしたい//クラス
        
        private function picsOnComplete(eventObj:Event):void//picOnCompleteとは??//イベントオブジェクト:Event
        {
            loader2.x=stage.stageWidth / 2 - loader2.width / 2;
            loader2.y=stage.stageHeight / 2 - loader2.height / 2;
        }
    /*
    
        
    private function update(e:Event=null):void
    {
      
        for each(var loadObj:Object in loaders)
        {    //ひとつのものをとりだしてる
      
        }
    }
    */
    
    
    //他のロード完了を移動していると、なぜか未定義のpicOnCompleteという事態発生??
        
        public function GyaosSample()//定義 実行 クラス名
        {   
        
        
               //背景をロードする
            
            loader2=new Loader();
            var back1:LoaderContext=new LoaderContext(true);
            loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete);//ピクスオンコンプリート?????//m70
            loader2.load(new URLRequest(HK1), back1);//URL!!//m71
            addChild(loader2);//ロードして実行する
            
            
            // タイマーを初期化する//なぜかここじゃなきゃいかんみたい
            blinkTimer=new Timer(80, 10);//何のタイマーか…// 攻撃エフェクト用のタイマー…//m53//エフェクトタイマーを初期化するから、time2つある
            //ボタンを配置//なんのタイマー…
            
             // 攻撃ボタンを配置する
            attackButton = new PushButton(this, 0, 0, "Attack", atc);//attackButtonは新しく作る実態はPushbutton(それ、??でなまえはAttack, atc)
            attackButton.y=(stage.stageHeight - attackButton.height) / 2 + 143; //-が上で+が下
            attackButton.x=(stage.stageWidth - attackButton.width) / 2 - 120;//-が左
            
            //守備ボタンを配置する
            mamoriButton = new PushButton(this, 0, 0, "Defense", mmr);
            mamoriButton.y=(stage.stageHeight - mamoriButton.height) / 2 + 143;
            mamoriButton.x=(stage.stageWidth - mamoriButton.width) / 2 + 120;
            //ミステイクNextButton = new NextButton(this, 0, 0, "Next",nex);
            
            //仲間にするボタンを配置する
            nakamanisuruButton = new PushButton(this, 0, 0, "Talk" , tlk);
            nakamanisuruButton.y=(stage.stageHeight - nakamanisuruButton.height) / 2 +143;
            nakamanisuruButton.x=(stage.stageWidth - nakamanisuruButton.width) / 2;
            
            
            //Nextボタン配置したいでもこれは勝利、負けの時しか表示しなくていいか
            //flaで動くwinとかloseとかつくってランダムに表示させたい
            //とりあえず上にURL乗せてwinと負けのところに静止画のデザイン入れたい
            
            //w/e/b/…a
            
            //背景>フレーム>textボタン>HP表示>モンスター>ボタン
            //hpがおかしいけんオンラインから取ってきて合成する事
            //まだ完璧じゃない
        
            //これって(の、ここの部分の数字上がるとM1の消えてるが多い)
            blinkTimer.addEventListener("timer", timerHandler);//きっかけ
            
            //timer??よくわからない//変数
            
            //フレームロードしようとしたらprivateでエラーになる。//= x
            
            
            // モンスターのHPを表示する
            hpView=new HpView(hp, hp);//hp.hp=100/100?
            //hpView=new HpView(hp, hp);の(hp, のこの部分を2と化にしたら222/2でおかしい表示になる、2の方はは変わらん,
            //何かの数字,50だったら、増えた!!戻った!?)
            hpView.y=attackButton.y - hpView.height /2 - 45;//-が上+が下attackButtonの上?に表示させる、高さ?
            hpView.x=stage.stageWidth/2-hpView.width/2 + 130;//ステージの真ん中より下に表示させる
            addChild(hpView);//hpViewを実行
            
            //味方モンスターのHPを表示する//真ん中になってたから変える モンスター位置発見
            hpView2=new HpView(hp2,hp2);//hp2View
            hpView2.y=attackButton.y -hpView2.height /2 -45;
            hpView2.x=stage.stageWidth/2-hpView2.width/2 -130;    
            addChild(hpView2);//hpViewを実行
            
            
            
            //USER表示
            loader11=new Loader();
            var context10:LoaderContext=new LoaderContext(true);
            loader11.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete10);
            loader11.load(new URLRequest(USER),context10);
            addChild(loader11);
            
            //CPU表示
            loader12=new Loader();
            var context11:LoaderContext=new LoaderContext(true);
            loader12.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete11);
            loader12.load(new URLRequest(CPU),context11);
            addChild(loader12);
            
           
           
          //
          
           // 複数モンスターをロードする
            /*
            for each (var MSI:String in HMS)
            {
                var loader:Loader = new Loader();//
                var context:LoaderContext=new LoaderContext(true);//新しくコンテキストを作る
                //loaders.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete2);
               //条件は未定義であり、プロパティがありません。てなる
                loaders.push(loader);//Arrayに入れる事でいちいちprivate var ~で名乗らなくていい
                loader.load(new URLRequest(MSI), context);
             */
            
                
                //だから新しく追加している。
               
          //  } 
          // enemy=loaders[num];//なぜかこれがいる*
           
           
           //モンスター画像読み完了時の処理。
         
            //private function completeLoadHandler(event:Event):void
            //{
            
            // モンスターを画面中央に配置
            //monster.x = (stage.stageWidth  - monster.width)  / 2;
            //monster.y = (stage.stageHeight - monster.height) / 2;
            //monster.visible = false;

            //}
           //    addChild(enemy);
        /*
                var enemy:Loader;
        
                for each(var url:* in imgUrl) 
                //(var url:String in imgUrl)
                {//フォー文でeachを使って一つを取り出している
                //さらにimgUrlにurlという名前をつけてそれは文字列 いん imgUrlにしている
                var loader:Loader = new Loader();//セット
                //ローダーを作る
                var context:LoaderContext=new LoaderContext(true);//新しくコンテキストを作る
                loader.load(new URLRequest(url[num]), context);
                loaders.push(loader);//Arrayに入れる事でいちいちprivate var ~で名乗らなくていい
                //ローダーをアレイローダーズにいれる
                //だから新しく追加している。
                addChild(enemy);   
                 
                }
                   enemy = loader[url];//enemyのローダーズの[]内がナンバー
                addChild( field );
        */
            // 敵モンスターをロードする
            
            loader13=new Loader();//Loaderのnewで新しく作成
            var context12:LoaderContext=new LoaderContext(true);//context?//trueは真実‥実在している//m69
            loader13.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete12);//ピクスオンコンプリート?????//m70
            loader13.load(new URLRequest(M1), context12);//URL!!//m71
            //m69loader.load(new URLRequest(imgUrl), context);//URL!!
            addChild(loader13);//ロード実行
               //敵モンスターはピクス12
            
            //味方モンスターをロードする
            loader3=new Loader();//Loader3で新しくロード
            var context2:LoaderContext=new LoaderContext(true);//コンテキスト2で存在するロードコンテキスト
            loader3.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete2);//ロード3??
            loader3.load(new URLRequest(M3),context2);
            addChild(loader3);//実行
               //味方モンスターはピクス2
            
            //*/
            //attack関連ボタン
            
            
            
            
            //ブロックボタンロードする
            loader4=new Loader();
            var context3:LoaderContext=new LoaderContext(true);
            loader4.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete3);
            loader4.load(new URLRequest(BB),context3);
            addChild(loader4)//クラウドボタン//addはアクションに依存する事
            
            
            //ウインドボタンロードする
            loader5=new Loader();//Loader3で新しくロード
            var context4:LoaderContext=new LoaderContext(true);
            loader5.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete4);
            loader5.load(new URLRequest(WB),context4);
            addChild(loader5)//ウインドボタン
            //今からロードする以外の2と3をここに持ってくる

            //クラウドボタンロードする
            loader6=new Loader();
            var context5:LoaderContext=new LoaderContext(true);
            loader6.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete5);
            loader6.load(new URLRequest(CB),context5);
            addChild(loader6)//クラウドボタン//addはアクションに依存する事//attackいらないかな?;
            
            //フレーム1をロードする
            loader7=new Loader();
            var context6:LoaderContext=new LoaderContext(true);
            loader7.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete6);
            loader7.load(new URLRequest(F1),context6);
            addChild(loader7)//クラウドボタン
            
            //フレーム2をロードする
            loader8=new Loader();
            var context7:LoaderContext=new LoaderContext(true);
            loader8.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete7);
            loader8.load(new URLRequest(F2),context7);
            addChild(loader8)
           
           //win表示
            loader10=new Loader();
            var context9:LoaderContext=new LoaderContext(true);
            loader10.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete9);
            loader10.load(new URLRequest(WN5),context9);
            //addChild(loader10)
           
            //loss表示
            loader9=new Loader();
            var context8:LoaderContext=new LoaderContext(true);
            loader9.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete8);
            loader9.load(new URLRequest(LS2),context8);
            //addChild(loader9)
        
        }
        //!!
        //完了時の処理はなぜか、ここじゃなきゃいけないようだ。
        // モンスターをロードする
          
        /*
         // 複数モンスターのロード完了時の処理
        private function init():void
        {
            
            // モンスターをステージ中央に配置する
            addChild(enemy);//new Sprite 実行エネミー
            enemy.visible = false; //エネミーいない
            enemy.scaleX = 1;//??
            enemy.scaleY = 1;
            enemy.x = stage.stageWidth / 2 - enemy.width / 2;
            enemy.y = stage.stageHeight / 2 - enemy.height / 2;//中央表示
          
        }
        
        */
        
        
        
         //敵モンスターのロード完了時の処理
             private function picsOnComplete12(eventObj:Event):void    
            {
               //またステージ、フレームに書くのとは違うみたいですね、(Event,evtとかで良いのにやっぱりややこしいとか分別とかの理由??)
               //モンスターをステージ中央に配置する//中央から移動させても良い
               loader13.x=stage.stageWidth / 2 - loader13.width / 2 +134 ;//ロード、stage幅割る2;=幅の真ん中、
               loader13.y=stage.stageHeight / 2 - loader13.height / 2 -32;//ロード、stage高さの割る2 ; =高さの真ん中
        
            }
         
        
      //味方モンスターのロード完了時の処理
        private function picsOnComplete2(eventObj:Event):void
        {
                //味方モンスターをステージ左に配置する
                loader3.x=stage.stageWidth / 2 - loader3.width / 2 -134;//+が右-が左
                loader3.y=stage.stageHeight / 2 - loader3.height /2 -32;//+が下-が上
        }
    
        //nullのエラーがならなくなった、という所は
        //ローダーにひとつしか入らないのではないかな?
        //attack関連ボタン
        //違うもしかしたら、違うかも
        //敵になってないからエラーが出ないだけかも
             
         //*/
             //ブロックボタンロード完了時の処理
          private function picsOnComplete3(eventObj:Event):void
        {
                 //ボタンをclowdの上左に配置する
                 loader4.x=stage.stageWidth / 2 - loader4.width  / 2 - 155;//+が右-が左
                 loader4.y=stage.stageHeight / 2 - loader4.height / 2 + 116;//+が下-が上
        }
            
            //ウインドボタンロード完了時の処理
          private function picsOnComplete4(eventObj:Event):void
        {
                 //ボタンをattackの上の中央に配置する
                 loader5.x=stage.stageWidth / 2 - loader5.width  / 2 - 120;//+が右-が左
                 loader5.y=stage.stageHeight / 2 - loader5.height /2 + 116;//+が下-が上
        }
         
         
             //クラウドボタンロード完了時の処理
          private function picsOnComplete5(eventObj:Event):void
        {
                 //ボタンをclowdの上左に配置する
                 loader6.x=stage.stageWidth / 2 - loader6.width  / 2 - 86;//+が右-が左
                 loader6.y=stage.stageHeight / 2 - loader6.height /2+ 116;//+が下-が上//+111から116に変更//hp2を並列にする為
        }
         //フレーム
        
        //フレーム1のロード完了時の処理
          private function picsOnComplete6(eventObj:Event):void
        {
                 //フレームは画面上の上下
                 loader7.x=stage.stageWidth / 2 - loader7.width  / 2;//+が右-が左
                 loader7.y=stage.stageHeight / 2 - loader7.height /2 - 213;//+が下-が上
        }
        //フレーム2のロード完了時の処理
          private function picsOnComplete7(eventObj:Event):void
        {
                 //フレームは画面上の上下
                 loader8.x=stage.stageWidth / 2 - loader8.width  / 2;//+が右-が左
                 loader8.y=stage.stageHeight / 2 - loader8.height / 2 + 212;//+が下-が上
        }
        
        
        
        //まとめ
        //形式
        //1ロード
        //2ロード{}
        //3ロード{内}
        //4var
        
        
        
         //WINのロード完了時の処理
          private function picsOnComplete9(eventObj:Event):void
        {
                 //win
                 loader10.x=stage.stageWidth / 2 - loader10.width  / 2+18;//+が右-が左
                 loader10.y=stage.stageHeight / 2 - loader10.height / 2-21;//+が下-が上
        }
        
         //lossのロード完了時の処理
          private function picsOnComplete8(eventObj:Event):void
        {
                 //loss
                 loader9.x=stage.stageWidth / 2 - loader9.width  / 2+65;//+が右-が左
                 loader9.y=stage.stageHeight / 2 - loader9.height / 2-150;//+が下-が上
        }
        
        //USER完了時の処理
            private function picsOnComplete10(eventObj:Event):void //秘密 実行 ピクスオンコンプリート??(eventObjの:Event??クラス??):void
            {
                //またステージ、フレームに書くのとは違うみたいですね、(Event,evtとかで良いのにやっぱりややこしいとか分別とかの理由??)
                //モンスターをステージ中央に配置する//中央から移動させても良い
                loader11.x=stage.stageWidth / 2 - loader11.width / 2-132;//ロード、stage幅割る2;=幅の真ん中、
                loader11.y=stage.stageHeight / 2 - loader11.height / 2-150;//ロード、stage高さの割る2 ; =高さの真ん中
        
            }
        
        //CPU完了時の処理
            private function picsOnComplete11(eventObj:Event):void //秘密 実行 ピクスオンコンプリート??(eventObjの:Event??クラス??):void
            {
                //またステージ、フレームに書くのとは違うみたいですね、(Event,evtとかで良いのにやっぱりややこしいとか分別とかの理由??)
                //モンスターをステージ中央に配置する//中央から移動させても良い
                loader12.x=stage.stageWidth / 2 - loader12.width / 2+132;//+が右-100ロード、stage幅割る2;=幅の真ん中、
                loader12.y=stage.stageHeight / 2 - loader12.height / 2-150;//-が上ロード、stage高さの割る2 ; =高さの真ん中
        
            }
        
          
        
        
        //winの表示の時の問題
         private function nex(e:MouseEvent):void
         {
                 
         }
        
        
       
         //仲間にする
        private function tlk(e:MouseEvent):void
        {
            
        }
        
        //守備処理
         private function mmr(e:MouseEvent):void
        {
            
        }
        
        // 攻撃処理
        private function atc(e:MouseEvent):void//秘密 実行 atcを(e?:MouseEvent):voidマウスイベントとvoid,値//m86//atc発見
        {     //ここでatcをボタンにしている
        
            //addChild(loader4)//attack用ボタン
            //ここに置く、コピー置き
            //実行//addChildに{}はなくていい//ダメージ無効化に一つはしたい
            //の中のifelse
            
            // ダメージを計算する
            var r:int=Math.floor(Math.random() * 50) + 1;//Math.ランダム&フロー//r=こういう計算してるよ
            //点滅の回数,と思っていたら違った!!!!攻撃力だった
            hp-=r / 2;//hp-=r;ずっとクリックする度に引かれていく計算、Rは上にあるよ
            //攻撃エフェクト
            if (hp < 1) // モンスター死亡時//条件式1よりHPが下になったら
         {
            //ifに相当書かれてる
            
            //nextボタン
            //Nextボタンを配置する
            NextButton = new PushButton(this, 0, 0, "Next",mmr);
            NextButton.y=(stage.stageHeight - NextButton.height) / 2 -214;//+は下-が上
            NextButton.x=(stage.stageWidth - NextButton.width) / 2+160;//-
                //Nextの処理:次の戦いに進む
            addChild(loader10)
            //alpha = 0.5;<<これ意味ない
            
            
            
       
            /*//////////////////////////////////////////////////////////////
            // 敵モンスターをステージ中央に配置する//中央から移動させても良い
            
            //元からあったローダー13loader13//複数:enemy 
            loader13.x=stage.stageWidth / 2 - loader13.width / 2 +134;//ロード、stage幅割る2;=幅の真ん中、
            //enemy.x=stage.stageWidth / 2 - loader.width / 2 +134;//これのせいで0にならないで
            //nullがうんたらかんたらってなってた
            //enemy.y=stage.stageHeight / 2 - loader.height / 2 -32;
            loader13.y=stage.stageHeight / 2 - loader13.height / 2 -32;//ロード、stage高さの割る2 ; =高さの真ん中
            */
            ///これだとモンスターの時は固定されるんだけど、winTextの時はコンパイルした時の位置がランダムになる。
             
             
            hp=0;//これのせい?0になったの?
            //hp2=0;
                 
                 
            // モンスターを非表示にする
           // enemy.visible=false;
            loader13.visible=false;//loader.visible=falsevisibleって何?フェース=偽、モンスターを見えなくした。モンスターで使うのか、
            alpha = 1;//えこれ1にしたらそうなるの?
            //alpha = 0.5;
            //loader.visible=alpha = 0.5;//なぜか攻撃されたときアルファ使おうと思ったら最後にアルファがでてきてしかもエラーで
            //プール値とか言われる、しかも勝ったとき表示される字がアルファから濃くなっていく
            //apha掛けたいのになんか変とか思ったら単純にalphaだけで良かった!!
        }
           
           else // 攻撃成功時//これってelse ifってやつ?
        
        {        
            
            //alpha = 1;
            // 攻撃エフェクトを開始する
            blinkTimer.reset();//タイマーをリセット
            blinkTimer.start();//タイマーをスタート、ブリンク????
        }
            // HP表示を更新する
           hpView.update(hp);//updateでプログラミング上で表示 
           hpView2.update(hp2);//updateでプログラミング上で表示
           //<<このせいで敵が0になった時だけ0になってた様,
           //違った、上のhp = 0;だった。
           //でもなんでだろう??
       
       }  //updateでhpの値を得てhpを表示更新??
        
        // タイマー処理//TimerEvent
        private function timerHandler(event:TimerEvent):void//値定義 実行 ハンドラー//m137
        {
            if (blinkTimer.currentCount % 2== 1)//==タイマーの正体??
            {    //loader.visible=alpha = 0.5;//プール値?
                loader13.visible=false;//条件分岐、偽
            }
            
            else//if,else
            {    //loader.visible=alpha = 1;プール値?
                loader13.visible=true;//真実
            }
        
        }
    }
}
            //一回終わっている
            //クラス:classが二つある
            //importも使用されているものも、最後の単語=例Sprite
            
            //ここはパッケージされてない?????
            import flash.display.Sprite;//在処、ディスプレイのスプライトの中(クラス名??)HpViewに使用ディスプレイに

            //反映されるようである=画面//Sprite
            import flash.text.TextField;//在処テキストのテクスチャーフィルダーの中?????_textで使用最初
            import flash.text.TextFieldAutoSize;//テキストのTextFieldAutoSizeの中_textで使用2番目に
            import flash.text.TextFormat;//テキストのテキストフォーマットの中_textで使用3番目に使用
            
            // 敵HP表示//class HpView
            class HpView extends Sprite//クラスにHpViewがあって、それを反映???????//Sprite
            {
                private var _text:TextField;//privateって秘密の定義????????????名前付ける_textっていう:クラス名はTextField;
                private var _hpMax:int;//_hpMaxって名前付ける、クラス名はint;
                

                function HpView(hp:int, hpMax:int)//intって値????
                {
                    _hpMax=hpMax;//_hpMaxhpMax;
        
                    _text=new TextField();//_textは新しく textFieldを作る事
                    //テキストテキストってなんの文字なんなんでしょう‥?hp????
                    var format:TextFormat=new TextFormat();//名前を付けるformat:TextFormatというクラス名で=そしてnew TextFormat();で新しく作る
                    _text.autoSize = TextFieldAutoSize.LEFT;//_text.autoSietextFieldAutoSizeをレフト、左に表示。
                    _text.defaultTextFormat=format;//_textdefaultTextFormatFormat;????????????
                    addChild(_text);//で_textに頼んだ事をやってもらう。
                    
                    update(hp);//hpをアップデート
                }
            
    
                    // 敵HP表示を更新する//
                    public function update(hp:int):void//定義 実行 update(hp:int)を:voidは値
                {
        
                    _text.text="HP : " + String(hp) + "/" + _hpMax;//{ハンドラ内}_text.text="HP : "←????+_hpMax;
    
                }
                
                //あーこれが‥/の正体か!!考えられているのはHP=_textの位置、_hpMaxの位置類決められる
    
            }
            
            
            //HPの位置ってどこで決めているんだろう???
            //二つ目 味方モンスターのHP
            
            
            class HpView2 extends Sprite//クラスにHpViewがあって、それを反映???????//Sprite
            {
                private var _text2:TextField;//privateって秘密の定義????????????名前付ける_textっていう:クラス名はTextField;
                private var _hpMax2:int;//_hpMaxって名前付ける、クラス名はint;
                 //味方
                function HpView2(hp2:int, hpMax2:int)//intって値????
                {
                    
                    
                    _hpMax2=hpMax2;//_hpMaxhpMax; 味方
        
                    _text2=new TextField();//_textは新しく textFieldを作る事
                    //テキストテキストってなんの文字なんなんでしょう‥?hp????
                    var format2:TextFormat=new TextFormat();//名前を付けるformat:TextFormatというクラス名で=そしてnew TextFormat();で新しく作る
                    _text2.autoSize = TextFieldAutoSize.LEFT;//_text.autoSietextFieldAutoSizeをレフト、左に表示。
                    _text2.defaultTextFormat=format2;//_textdefaultTextFormatFormat;????????????
                    addChild(_text2);//で_textに頼んだ事をやってもらう。
                    
                    update2(hp2);//hpをアップデート 味方
                }
            
    
                    // 味方HP表示を更新する
                    public function update2(hp2:int):void//定義 実行 update(hp:int)を:voidは値
                {
        
                    _text2.text="HP : " + String(hp2) + "/" + _hpMax2;//{ハンドラ内}_text.text="HP : "←????+_hpMax;
    
                }
                
                
                // HP表示を更新する//
                
 
                //実際理解しとかないとここからは難しいな;
                //あーこれが‥/の正体か!!考えられているのはHP=_textの位置、_hpMaxの位置類決められる
    
            }
            
            
            //を実行

/*
/**
 * Copyright hacker_9vjnvtdz ( http://wonderfl.net/user/hacker_9vjnvtdz )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/f6f2
 */

/*
    attak

package
{
    import com.bit101.components.PushButton;
    
    import flash.display.Loader;
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.events.TimerEvent;
    import flash.net.URLRequest;
    import flash.net.URLRequest;
    import flash.system.LoaderContext;
    import flash.utils.Timer;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;
    
    [SWF(width="450", height="455", frameRate="30", backgroundColor="#FFFFFF")]

//今から始まるよ
    public class GyaosSample extends MovieClip
    {
  //このモンスター使うよ
        private var M1:String="http://assets.wonderfl.net/images/related_images/6/6d/6d2a/6d2aac9165308e05d07f52232f99bfe9d52a06fb"; // モンスターURL
//その他のモンスターのパス
public var M2:String="http://assets.wonderfl.net/images/related_images/9/9a/9a67/9a674310835d956620db269594b14241d8c079ba"
public var M3:String="http://assets.wonderfl.net/images/related_images/5/57/5728/5728bb5057da70c62a2bff824fac59cf139bcb44"
        
        
        
        private var loader:Loader; // モンスター表示用コンテナ
        private var attackButton:PushButton; // 攻撃ボタン
        private var hpView:HpView; // HP表示(hpView
        private var blinkTimer:Timer; // 攻撃エフェクト用のタイマータイマー?
        private var hp:int=100; // モンスターのHP
        
        public function GyaosSample()
        {    
            // タイマーを初期化する
            blinkTimer=new Timer(80, 4);
            blinkTimer.addEventListener("timer", timerHandler);

            // 攻撃ボタンを配置する
            attackButton = new PushButton(this, 0, 0, "Attack", atc);
            attackButton.y=(stage.stageHeight - attackButton.height) / 2 + 200;
            attackButton.x=(stage.stageWidth - attackButton.width) / 2;

            // モンスターのHPを表示する
            hpView=new HpView(hp, hp);//hp.hp=100/100?
            hpView.y=attackButton.y - hpView.height;//attackButtonの上?に表示させる
            hpView.x=stage.stageWidth/2-hpView.width/2;//ステージの真ん中より下に表示させる
            addChild(hpView);//hpViewを実行

            // モンスターをロードする
            loader=new Loader();//Loaderのnewで新しく作成
            var context:LoaderContext=new LoaderContext(true);//context?
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, picsOnComplete);
            loader.load(new URLRequest(imgUrl), context);//URL!!
            //69loader.load(new URLRequest(imgUrl), context);//URL!!
            addChild(loader);
        }
        
        // モンスターのロード完了時の処理
        private function picsOnComplete(eventObj:Event):void
        {
            // モンスターをステージ中央に配置する
            loader.x=stage.stageWidth / 2 - loader.width / 2;
            loader.y=stage.stageHeight / 2 - loader.height / 2;
        }

        // 攻撃処理
        private function atc(e:MouseEvent):void
        {
            // ダメージを計算する
            var r:int=Math.floor(Math.random() * 10) + 10;
            hp-=r;
            // 攻撃エフェクト
            if (hp < 1) // モンスター死亡時
            {
                //win表示
                var winText=new TextField();
               var format:TextFormat=new TextFormat();
               format.size = 100;
                winText.autoSize = TextFieldAutoSize.CENTER;
                winText.defaultTextFormat=format;
                 winText.text="win";
                addChild(winText);
                 winText.x=loader.x;
                 winText.y=loader.y;       
                
                hp=0;
                // モンスターを非表示にする
                loader.visible=false;
            }
            else // 攻撃成功時
            {
                // 攻撃エフェクトを開始する
                blinkTimer.reset();
                blinkTimer.start();
            }
            // HP表示を更新する
            hpView.update(hp);
        }
        
        // タイマー処理
        private function timerHandler(event:TimerEvent):void
        {
            if (blinkTimer.currentCount % 2 == 1)
            {
                loader.visible=false;
            }
            else
            {
                loader.visible=true;
            }
        }
    }
}

import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;

// HP表示
class HpView extends Sprite
{
    private var _text:TextField;
    private var _hpMax:int;

    function HpView(hp:int, hpMax:int)
    {
        _hpMax=hpMax;
        
        _text=new TextField();
        var format:TextFormat=new TextFormat();
        _text.autoSize = TextFieldAutoSize.LEFT;
        _text.defaultTextFormat=format;
        addChild(_text);

        update(hp);
    }
    
    // HP表示を更新する
    public function update(hp:int):void
    {
        _text.text="HP : " + String(hp) + "/" + _hpMax;
    }
    
}
*/