ソース(更新履歴詳細)

 

ParaFla!ソース / Cross Walker

※ ver fd 3.10.0 から変数関係がかなり変わっています!
  ver fd 3.9.6以前を使っている方はご注意ください。

 

2010/08/21 ( ver fd 3.12.14, 色変化逆算 )

[arrowCalculate.as]
このAS内にある
 bcolorDac ⇒ _root.bcolorDac に置き換え。

 

2010/08/07 ( ver fd 4.0.6, フェードアウトの問題 )

[ フェードイン ]
===============================================================================
/* フェードアウト開始時間(420フレーム手前)*/
var minFadeOut = Math.floor((musicAct._totalframes + _root._totalframes-fadeOutFrame-85)/ 3600);
var secFadeOut = Math.floor(((musicAct._totalframes+ _root._totalframes-fadeOutFrame-85)/ 60)% 60);
if(secFadeOut < 10) secFadeOut = "0"+secFadeOut;
fadeTime = minFadeOut+":"+secFadeOut;
===============================================================================

 

2010/07/24 ( ver fd 4.0.3, キー別関係の問題 )

◆11key, 11Lkey の11k-Cross の問題
11k-Crossは書き方は同じでもキーによりスクロール方向が異なるため、
Difficultyボタンを押した際に一回設定をリセットする必要がある。

[最初の初期化 / selectDifficulty]
===============================================================================
if(elvFlg ^ preKey){
  ・・・
}else if(rev=="11k-Cross"){
  if(keyLabel != "11L"){
    revnd = [-1,-1,-1,1,1,1,1,-1,-1,-1,-1];
  }else{
    revnd = [1,1,1,1,-1,-1,-1,-1,-1,-1,-1];
  }
}else if(keyLabel!="7" && keyLabel!="7i"){
  ・・・
}
===============================================================================
※ なお、間の記述は関数化されていれば以下の一行で済む。
  setScroll(rev,keyLabel,stepArea);

◆5key のCross のおにぎり位置の問題
おにぎりの設定部分だけ、スクロール方向を直接設定する設定になっていた。
このため、ReverseをONにした場合におにぎりのスクロール方向だけ変化する可能性がある。

[※タイトル ⇒ 「設定」PlayボタンAS (またはreadyToPlay)] ===============================================================================
(途中省略)
} else if(_root.keyLabel == "5"){
  ・・・
  case "Cross":
    _root.revnd[3]=1;  break;
  ・・・
===============================================================================

 

2010/07/24 ( ver fd 4.0.4, 主な変更点まとめ )

ver fd 4.0.0 から見た目にもいろいろ変わっているので、要点のみ。
(追記があればその部分について掘り下げるかもしれません)

 

2010/06/23 ( ver fd 3.12.12, フェードアウトの解除 )

[譜面台]
「フェードアウトを使うときは下のコメントを消す」コメントの下3行をコメントアウト。
※ただし、フェードアウトを使用する場合は外しておく
==============================================================================
/*
if(realTime==fadeTime){
  gotoAndPlay("fadeout");
}
*/
==============================================================================

 

2010/05/17 ( ver fd 3.12.11, 譜面計算部分修正 [任意] )

[precal]
次の一文を削除(不要)。
==============================================================================
_root.frame_num = _root.startFrame;
==============================================================================

[arrowCalculate.as]
修正箇所は多いが、場所は決まっているので要点のみ記述。
※ 手修正する場合はasファイルのバックアップ推奨

 

2010/05/17 ( ver fd 3.12.11, 読み込み画面のBackSpace連打防止 )

[SetStart.as]
「キーを押したときの設定 / 削除関数」以下の部分をカット(削除)する。
==============================================================================
/*---- キーを押したときの設定 / 削除関数 ----*/
keyPush = new Object();
Key.addListener(keyPush);

keyPush.onKeyDown=function(){
  System.IME.setEnabled(false);
  if(_root.setSpd!=0){
    var keyID = Key.getCode();
    switch(keyID){
      case _root.keyCtrl[0]:
        if(!_root.key_LE)  _root.judgeArrow(0);  break;
      case _root.keyCtrl[1]:  // 9keyではこのキーは代替として扱う
        if(!_root.key_LD)  _root.judgeArrow(1);  break;
      case _root.keyCtrl[2]:
        if(!_root.key_DO)  _root.judgeArrow(2);  break;
      case _root.keyCtrl[3]:
        if(!_root.key_SH)  _root.judgeArrow(3);  break;
      case _root.keyCtrl[4]:
        if(!_root.key_UP)  _root.judgeArrow(4);  break;
      case _root.keyCtrl[5]:  // 9keyではこのキーは代替として扱う
        if(!_root.key_RD)  _root.judgeArrow(5);  break;
      case _root.keyCtrl[6]:
        if(!_root.key_RI)  _root.judgeArrow(6);  break;
      case _root.keyCtrl[7]:
        if(!_root.key_L2)  _root.judgeArrow(7);  break;
      case _root.keyCtrl[8]:
        if(!_root.key_D2)  _root.judgeArrow(8);  break;
      case _root.keyCtrl[9]:
        if(!_root.key_U2)  _root.judgeArrow(9);  break;
      case _root.keyCtrl[10]:
        if(!_root.key_R2)  _root.judgeArrow(10);  break;
      case _root.keyCtrl[11]:  // 11keyの代替キー
        if(!_root.key_EX)  _root.judgeArrow(11);  break;
      case 46:  // タイトルバック(Delete)
        _root.delAll();
        _root.setSpd =_root.olds;
        _root.clear();
        if(Key.isDown(16)){
          _root.gameOverFlg = true;
          _root.gotoAndPlay("goResult");
        }else{
          _root.gotoAndPlay("title");
        }
      break;
      case 8:  // 曲中リトライ(BackSpace)
        if(!_root.key_RE){
          _root.delAll();
          _root.clear();
          _root.setSpd =_root.olds;
          _root.gotoAndPlay("play");
        }
      break;
    }
  }
};
==============================================================================

[createSplite.as]
上記でカットしたものをペーストする。(一番下へ)

 

2010/05/09 ( ver fd 3.12.10, フェードアウト周りの修正 )

[最初の初期化]
以下の2変数を追加。
==============================================================================
/
/ > フェードアウト時間
/ ・ fadeOutFrame : フェードアウトにかかるフレーム数
/ ・ VOL_GRAD : どのくらいの速度でフェードアウトさせるか(デフォルト:1倍)
/---------------------------------------------------------------------------
fadeOutFrame = 420;
VOL_GRAD = 1;
==============================================================================

[フェードイン]
フェードアウト間隔を変更できるよう、変数名に変換。 ==============================================================================
/
/ フェードアウト開始時間(420フレーム手前)
var minFadeOut = Math.floor((musicAct._totalframes + _root._totalframes-fadeOutFrame-85)/ 3600);
var secFadeOut = Math.floor(((musicAct._totalframes + _root._totalframes-fadeOutFrame-85)/ 60)% 60);
if(secFadeOut < 10) sec = "0"+sec;
fadeTime = minFadeOut+":"+secFadeOut;
==============================================================================

[フェードアウト]
描画の線を消す "clear();"を追加。
==============================================================================
stop();
var volSound= new Sound();
var volVal = volLevel;
var endCnt = 0;

/---------------------------------------------------------------------------
/ < フェードアウト(曲の途中終了) >
/
/ ・ 使用しない場合はこれ以降をコメントアウトする
/ ・ 音量が最小になったらEnterFrame処理は自動的に削除している
/---------------------------------------------------------------------------
this.onEnterFrame=function(){
  volSound.setVolume(volVal);
  if(volVal<=0){
    volVal=0;
    /* 曲が終了するか、フェードアウト開始から120フレーム後にリザルト画面へ */
    if(realTime==fullTime || endCnt>=120){
      delete this.onEnterFrame;
      this.delAll();
      this.clear();
      volSound.setVolume(volLevel);

      /* BarDrain ≫ Normal のときに FAILED になる条件をやや簡素化 */
      var jmpFrame = (barDrain=="Normal" && life < setLife.maxLife*CLEAR_NORMAL/100)
             ? "failed" : "clear";
      gotoAndPlay(jmpFrame);
    }
    endCnt++;

  /* フェードアウト速度の導入, やや簡素化 */
  }else if(volVal<=volLevel/5){
    volVal-=volLevel/800*VOL_GRAD;
  }else{
    volVal-=volLevel/200*VOL_GRAD;
  }
  if(frameNum % 60 == 0){
    var min = Math.floor(frameNum / 3600);
    var sec = (frameNum / 60)% 60;
    if(sec < 10) sec = "0"+sec;
    realTime = min +":"+sec;
  }
  frameNum++;
};
==============================================================================

[goResult]ラベルの一つ上のフレーム(failed)
ゲームオーバーフラグを追加。
これによりfailedに飛ばす際にgameOverFlg=true;の記述が他で要らなくなる。
==============================================================================
gameOverFlg=true;
gotoAndPlay("goResult");
==============================================================================

 

2010/04/25 ( ver fd 3.12.9, フェードイン+速変処理の修正 )

[arrowCalculate.as / arrowCalculateNon.as]
> 速度変化・ストップ補正(途中再生の場合はあらかじめ位置調整) のコメントの下6行目を修正。 ==============================================================================
誤 if(speedDac[j]<_root.frameNum){
正 if(speedDac[j]<frameStart){ ==============================================================================

 

2010/04/21 ( ver fd 3.12.8, フェードアウト仕様変更 )

フェードアウトの仕様変更。
全譜面フェードアウトのときは[譜面台]における fadeTime の指定が不要になりました。
(フェードアウトを使用しない場合は対策不要です)

[フェードイン]
以下のようにフェードアウト時間を逆算するように変更。( / はコメントです )
==============================================================================
/
/ フェードアウト開始時間(420フレーム手前)
var minFadeOut = Math.floor((musicAct._totalframes + _root._totalframes-505)/ 3600);
var secFadeOut = Math.floor(((musicAct._totalframes + _root._totalframes-505)/ 60)% 60);
if(secFadeOut < 10) sec = "0"+sec;
fadeTime = minFadeOut+":"+secFadeOut;
==============================================================================

[フェードアウト]
以下の赤字部分が変更箇所。
BarDrain ≫ Normal の ゲームオーバー条件(ライフ80%未満)と
フェードアウトのタイミングを修正。
==============================================================================
stop();
var volSound= new Sound();
var volVal = volLevel;
var endCnt = 0;

/---------------------------------------------------------------------------
/ < フェードアウト(曲の途中終了) >
/
/ ・ 使用しない場合はこれ以降をコメントアウトする
/ ・ 音量が最小になったらEnterFrame処理は自動的に削除している
/---------------------------------------------------------------------------
this.onEnterFrame=function(){
  volSound.setVolume(volVal);
  if(volVal<=0){
    volVal=0;
    /* 曲が終了するか、フェードアウト開始から120フレーム後にリザルト画面へ */
    if(realTime==fullTime || endCnt>=120){
      delete this.onEnterFrame;
      this.delAll();
      this.clear();
      volSound.setVolume(volLevel);

      /* BarDrain ≫ Normal のときに FAILED になる条件を追加 */
      if(barDrain=="Normal" && life < setLife.maxLife*CLEAR_NORMAL/100){
        gameOverFlg=true;
        gotoAndPlay("failed");
      }else{
        gotoAndPlay("clear");
      }
    }
    endCnt++;

  /* Volumeが違っても同じ時間でフェードアウトするように変更 */
  }else if(volVal<=volLevel/5){
    volVal-=0.125*volLevel/100;
  }else{
    volVal-=0.5*volLevel/100;
  }
  if(frameNum % 60 == 0){
    var min = Math.floor(frameNum / 3600);
    var sec = (frameNum / 60)% 60;
    if(sec < 10) sec = "0"+sec;
    realTime = min +":"+sec;
  }
  frameNum++;
};
==============================================================================

 

2010/03/09 ( ver fd 3.12.4, オプション画面の回復/ダメージ表記 )

[最初の初期化]
オプション初期化と書かれたところを探して、その下付近。 赤字を追加する。
==============================================================================
  / ライフ設定
  if(BAR_DEFAULT!="Normal"){
    barDrain = "Original";
    startLife = setLife.startLife; / 初期ライフ
    d1 = setLife.ii;        / イイ
    d3 = setLife.shobn;       / ショボーン
    d4 = setLife.uwan;       / ウワァン
    d5 = setLife.kita;       / キター
    d6 = setLife.iknai;       / イクナイ
    d8 = 0;             / プギャー
    barView = barDrain + "<font size=\"14\"> [Rec "+d1+" /Dmg "+d3+"~]</font>";
    barView2 = barDrain + "\n [Rec "+d1+" /Dmg "+d3+"~]";
  }else{
    barDrain = "Normal";
    startLife = setLife.startLife;
    d1 = RECV_NORMAL;
    d3 = setLife.shobn*0.75;
    d4 = setLife.uwan*0.75;
    d5 = RECV_NORMAL;
    d6 = setLife.iknai*0.75;
    d8 = 0;
    barView = barDrain + "<font size=\"14\"> [Rec "+d1+" /Dmg "+d3+"~ /NoFail ]</font>";
    barView2 = barDrain + "\n [Rec "+d1+" /Dmg "+d3+"~ /NoFail ]";
  }
==============================================================================

 

2010/02/21 ( ver fd 3.11.3, 特定の変速を行った場合のオプション画面上の表記修正 )

[最初の初期化]
プレイ時の最高/最低倍速の算出と書かれたコメントを探して、その下付近。
赤字を追加。(読み込んだ変数の数値化を行っている) ==============================================================================
for(j=0;j<difficulty;j++){
  maxMulti[j]= 1;
  minMulti[j]= 1;

  difNum =(j==0 ? "" : 1+j);
  stepStr =(keyLabelArr[j]==5 ? "_data":"_change");
  tmpSpdArr =_root["speed"+ difNum + stepStr].split(",");
  tmpBstArr =_root["boost"+ difNum +"_data"].split(",");

  if(!isNaN(parseFloat(tmpSpdArr[0]))){
    for(k=0;k<tmpSpdArr.length;k+=2){
      tmpSpdArr[k+1] = parseFloat(tmpSpdArr[k+1]);
      if(maxMulti[j] < tmpSpdArr[k+1]){
        maxMulti[j] = tmpSpdArr[k+1];
      }else if(minMulti[j] > tmpSpdArr[k+1] && tmpSpdArr[k+1]!=0){
        minMulti[j] = tmpSpdArr[k+1];
      }
    }
  }
  if(!isNaN(parseFloat(tmpBstArr[0]))){
    for(k=0;k<tmpBstArr.length;k+=2){
      tmpBstArr[k+1] = parseFloat(tmpBstArr[k+1]);
      if(maxMulti[j] < tmpBstArr[k+1]){
        maxMulti[j] = tmpBstArr[k+1];
      }else if(minMulti[j] > tmpBstArr[k+1] && tmpBstArr[k+1]!=0){
        minMulti[j] = tmpBstArr[k+1];
      }
    }
  }
}
==============================================================================

 

2009/11/11 ( ver fd 3.11.1, 代替キーの設定修正 )

[※タイトル]スプライト→ [設定]ラベル→ 0305, 深度4のボタン(PLAYボタン)
ずっと下のほうに、「代替キーの設定」と書かれたコメントがある。
==============================================================================
/ 代替キーの設定
_root.replaceArr = new Array();
_root.replaceArr = [0,1,2,3,4,5,6,7,8,9,10,9];
_root.replaceInv = [0,1,2,3,4,5,6,7,8,11,10];
if(_root.keyLabel==9){
  _root.replaceArr[1] = 4;
  _root.replaceArr[5] = 9;
  _root.replaceInv[4] = 1;
  _root.replaceInv[9] = 5;
}else if(_root.keyLabel==5){
  _root.replaceArr[1] = 3;
  _root.replaceInv[3] = 1;
}
==============================================================================

 

2009/08/28 ( ver fd 3.9.2, プレイ中にIMEモードを切る )

[setStart.as]
"keyPush.onKeyDown=function(){" の直後と先頭に次の一文を入れる。
==============================================================================
System.IME.setEnabled(false);
==============================================================================




お名前: URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

コメントはありません。 コメント/ソース履歴詳細?


ホーム   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS