extends DxChar; function hokou(){//動けるかどうかを判定 var w; for(b in nm){ if(b==n){w=1; break;}//動けないマップパターンだったらループを抜ける } if(!w) return 1; // |真・偽を返す else return 0; // | } function shoki(bgm){//画面の初期設定 引数 bgm:BGM $screenWidth=400; // |スクリーンのサイズ $screenHeight=300; // | $map.setBGColor($clBlack);//バックは黒 $mplayer.play(bgm,1);//BGMを流す h=0;//アニメに使う setVisible(0);//不可視 s=$shujinkou_naka;//主人公を参照 $savedata=new Array();//セーブ時に使う wait(2);//ちょっと待つ エラー防止 x=s.x;// |主人公の上に移動 y=s.y;// | } function idou(){ if($ugoku){ if(getkey(37)){//←キー n=$map.get((s.x-1-8)/16,s.y/16)-m; if(hokou()){ s.x--;//左に移動 if(!h)s.anim.swing($pat_shujinkou+($sex*3)+18,$pat_shujinkou+($sex*3)+20,10);//アニメ } } else if(getkey(38)){//↑キー n=$map.get(s.x/16,(s.y-1-8)/16)-m; if(hokou()){ s.y--;//上に移動 if(!h)s.anim.swing($pat_shujinkou+($sex*3)+0,$pat_shujinkou+($sex*3)+2,10);//アニメ } } else if(getkey(39)){//→キー n=$map.get((s.x+1+8)/16,s.y/16)-m; if(hokou()){ s.x++;//右に移動 s.anim.swing($pat_shujinkou+($sex*3)+6,$pat_shujinkou+($sex*3)+8,10);//アニメ } } else if(getkey(40)){//↓キー n=$map.get(s.x/16,(s.y+1+16)/16)-m; if(hokou()){ s.y++;//下に移動 if(!h)s.anim.swing($pat_shujinkou+($sex*3)+12,$pat_shujinkou+($sex*3)+14,10);//アニメ } } if(getkey(37)==0&&getkey(38)==0&&getkey(39)==0&&getkey(40)==0) h=0;//カーソルを放すと止まる if(getkey(32)==1){//スペースでメニュー表示 s.anim.pause();//主人公のアニメを止める menu=0; content=0; while(1){ //******メニュー drawDxSprite(x+130,y-30,$pat_frame+0,0,5,0,180,1);//ウインドウ drawText(x+95,y-130,"アイテム",$clWhite,15); drawText(x+95,y-105,"装備",$clWhite,15); drawText(x+95,y- 80,"魔法",$clWhite,15); drawText(x+95,y- 55,"ステータス",$clWhite,15); drawText(x+95,y-30,"セーブ",$clWhite,15); drawText(x+95,y-5,"戻る",$clWhite,15); drawText(x+75,y-((6-menu)*25-20),">",$clWhite,15);//カーソル //*****/メニュー //******Name,HP,MP drawDxSprite(x+130,y+90,$pat_frame+1,0,5,0,180,1);//ウインドウ drawText(x+80,y+35,$Name,$clWhite,15);//名前 //*****/Name,HP,MP if(getkey(38)==1){//↑キー if(content==0){//メニューのどれも選んでいなかったら if(menu==0)menu=6;//一番上だったら一番下に戻す menu--;//メニューのカーソルを上に移動 } } if(getkey(40)==1){//↓キー if(content==0){//メニューのどれも選んでいなかったら if(menu==5)menu=-1;//一番下だったら一番上に戻す menu++;//メニューのカーソルを下に移動 } } if(getkey(32)==1){//スペース 決定 if(menu==4){//セーブ $savedata.clear(); $savedata.add($projectManager.getCurrentPageName());//ページを記録 $savedata.add(s.x);//x座標を記録 $savedata.add(s.y);//y座標を記録 $savedata.save("map.data");//書き込み } if(menu==5)break;//メニューの戻る } update(); } } } update(); } setVisible(0);//不可視 wait();