※ ver fd 3.10.0 から変数関係がかなり変わっています!
ver fd 3.9.6以前を使っている方はご注意ください。
[最初の初期化]
以下の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");
==============================================================================
[arrowCalculate.as / arrowCalculateNon.as]
> 速度変化・ストップ補正(途中再生の場合はあらかじめ位置調整)
のコメントの下6行目を修正。
==============================================================================
誤 if(speedDac[j]<_root.frameNum){
正 if(speedDac[j]<frameStart){
==============================================================================
フェードアウトの仕様変更。
全譜面フェードアウトのときは[譜面台]における 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++;
};
==============================================================================
[最初の初期化]
オプション初期化と書かれたところを探して、その下付近。
赤字を追加する。
==============================================================================
/ ライフ設定
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 ]";
}
==============================================================================
[最初の初期化]
プレイ時の最高/最低倍速の算出と書かれたコメントを探して、その下付近。
赤字を追加。(読み込んだ変数の数値化を行っている)
==============================================================================
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];
}
}
}
}
==============================================================================
[※タイトル]スプライト→ [設定]ラベル→ 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;
}
==============================================================================
[setStart.as]
"keyPush.onKeyDown=function(){" の直後と先頭に次の一文を入れる。
==============================================================================
System.IME.setEnabled(false);
==============================================================================
コメントはありません。 コメント/ソース履歴詳細?