ソース(更新履歴詳細)

ParaFla!ソース / Cross Walker

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

2012/06/28 ( ver fd 4.5.4 beta, 9/15key時のキーコンフィグ表示バグ )

  • 対象ソース:ver fd 4.5.0 beta 〜 4.5.3 beta
  • 解決される内容:
    • 9/15key時のキーコンフィグ表示バグの解消。

◎キーコンフィグ>2フレーム目 KeyCarsor
・onClipEvent(load)内。以下の赤字箇所を追加・修正。
=====================================================
var useKey = _root.top.useKey;
var useKeyReal = _root.top.useKeyReal;
var ptnPlus = _root.top.getPtnPlus(useKey);
var keyInfo = (ptnPlus == "" ? useKeyReal : (useKey + ptnPlus));
this.keyX = _root.top["keyX"+useKey];
this.keyY = _root.top["keyY"+useKey];
var invArr = _root.top["invArr"+useKey];
var startNum = ( (useKey==11 || useKey==15) ? 7 : (useKey==13 ? 9 : 0) );
_parent.initKeyconfig(startNum,useKey,invArr,keyInfo);
=====================================================

2012/06/06 ( ver fd 4.5.3 beta, フェードインバグ )~

  • 対象ソース:ver fd 4.5.1 beta 〜 4.5.2 beta
  • 解決される内容:
    • フェードインバグの解消。

ver fd 4.5.0 betaの方法に戻す。
[譜面台]
=====================================================
//SoundRef = {};

createEmptyMovieClip("SoundRef",-10000);
=====================================================

2012/02/07 ( ver fd 4.4.6, 逆走時判定、StepArea≫2step時の問題 )

  • 対象ソース:ver fd 4.4.5 以前
  • 解決される内容:
    • 逆走時の誤判定がなくなる。
    • StepArea≫2step に起因する問題解消。

> StepArea≫2step時の問題

スプライト[※タイトル]>フレーム3[設定]AS
・Appearance ≫ Shadow時は初期透明度を変えないように(4key以外)。
・StepArea ≫ Default時はAppearanceを再設定。
========================================================
(修正前)55行目
if(_root.stepArea=="2step"){
  for(j=0;j<11;j++){
    if(_root.revnd[j]==1){
      _root.aprLabel[j] = 1;
      _root.setAlpha[j] = 0;
    }else{
      _root.aprLabel[j] = 0;
      _root.setAlpha[j] = 100;
    }
  }
}
========================================================
(修正後)55行目
if(_root.stepArea=="2step"){
  for(j=0;j<11;j++){
    if(_root.revnd[j]==1){
      _root.aprLabel[j] = 1;
      _root.setAlpha[j] = 0;
    }else{
      _root.aprLabel[j] = 0;
      if(_root.apr != "Shadow"){
        _root.setAlpha[j] = 100;
      }
    }
  }
}else{
  _root.setAppearance(_root.apr);
}
========================================================

> 逆走時判定
・逆走時判定領域がundefinedであったために、
 判定関数judgeArrow内の判定条件に不具合。

[最初の初期化]282行目 (関数changeJudgement内)
========================================================
(修正前)
}else if(setSpd * bstSpd <0){
  jdgLimit = [];
  fjdgLimit = [];
========================================================
(修正後)
}else if(setSpd * bstSpd <0){
  jdgLimit = [0,0,0,0];
  fjdgLimit = [0,0,0];
========================================================

2010/12/29 ( ver fd 4.0.10, swf6における読込の問題 )

  • 対象ソース:ver fd 4.0.0 beta1 〜 4.0.9
  • 解決される内容:
    • swf6において、Dan☆Oniがプレイできるようになる。

修正量が多いため、修正のポイントを挙げます。

  • swf6では、配列の中身が空の場合はundefinedであり、NaNではない。
  • swf7/8では、配列の中身が空の場合はNaNであり、undefinedではない。

上記の仕様(?)のため、配列が空かどうかを判断するif文を書き換えます。

<パターン1> 配列が空でないときに通す処理
(修正前)
  if(!isNaN(timeline[j][0])){
(修正後)
  if(timeline[j][0]!=undefined && !isNaN(timeline[j][0])){

<パターン2> 配列が空であるときに通す処理
(修正前)
  if(isNaN(timeline[j][0])){
(修正後)
  if(timeline[j][0]==undefined || isNaN(timeline[j][0])){

※ 変数名は一例であり、類似した処理を修正する必要があります。

2010/11/05 ( ver fd 4.0.8, フリーズアローミス時の問題 )

  • 対象ソース:ver fd 4.0.4 〜 4.0.7
  • 解決される内容:
    • フリーズアローを枠内で外した場合に、ライフが0になるバグが修正される。

[InitFunction.as]
944行目の lifeDamage〜 の行を iknJ(); に置き換える。

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

  • 対象ソース:ver fd 3.12.13以前
  • 解決される内容:
    • 色変化タイミングの不具合解消。

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

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

  • 対象ソース:ver fd 3.12.7 〜 4.0.5.2
  • 解決される内容:
    • ある特定の時間のフェードアウトができないバグが解消される。

[ フェードイン ]
===============================================================================
/* フェードアウト開始時間(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, キー別関係の問題 )

  • 対象ソース:ver fd 4.0.2 以前
  • 解決される内容:
    • 11key, 11L key間で11k-Crossの設定の不具合がなくなる。
    • 5key Crossのおにぎり位置の問題が解消される。

◆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 から見た目にもいろいろ変わっているので、要点のみ。
(追記があればその部分について掘り下げるかもしれません)

  • 判定周りの変化
    • ライフの回復量/ダメージ量
      これまでライフ設定で使われていた"setLife"を廃止。
      各BarDrainの設定ごとに数値を指定する方法に変わりました。

      例 ) MAX_LIFE(最大ライフ)、START_LIFE(初期ライフ)、LIFE_NORMAL(回復:ダメージ割合)

      また、Normal/Escape/Escape+ については
      回復・ダメージは割合でのみ表記し、詳細は矢印数依存で自動計算する仕様に変更。

      [startUpArrow.as]
      ===============================================================================
      if (barDrain == "Normal" || barDrain == "Escape" || barDrain == "Escape+") {
        if (allArrow == 0 && fallArrow == 0) {
          recvVal = 0;
          dmgVal = 0;
        }else {
          recvVal = calcLifeSource(recvValTmp, (allArrow + fallArrow));
          dmgVal = calcLifeSource(dmgValTmp, (allArrow + fallArrow));
        }
      }
      ===============================================================================
      ※ recvValTmp、dmgValTmp はそれぞれ回復・ダメージの割合。計算式は 関数calcLifeSource を参照。

    • 判定の呼び出し方法変更
      これまでは iiJ(); matJ(); などで呼び出しをしていましたが、
      回復 / マターリ / ダメージで書き方が変更になります。
  • 回復   lifeRecovery(recvVal,"ii","");
  • マターリ  matariJ(main[curArr].cnt);
  • ダメージ  lifeDamage(dmgVal,"syo","");

    lifeRecovery, lifeDamage の1番目の引数は回復量、2番目の引数は判定名、
    3番目の引数はフリーズの場合のみ"f"となります。
    マターリは早押しのみコンボが継続するように変わったため、
    カウンタを引数に入れています。

  • オプション類
    ver fd 4.0.3以降より、オプション類を関数化しています。
    ◎オプション設定 の1フレーム目にまとめて記述しています。
    ボタンの逆回しボタン対応のため、±を判定するpmFlgが引数に入っているものがあります。

    なお、オプションの詳細部分はここではなく最初の初期化に記述。
    詳細部分が最初の初期化に移動した以外については、基本的に同じです。

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

  • 対象ソース:ver fd 3.12.11, ver fd 3.13.0 beta1
  • 解決される内容:
    • 強制的にフェードアウトされる現象がなくなる。

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

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

  • 対象ソース:ver fd 3.10.0 以降 (実質 ver fd 3.5.0 以降も対象だが変数名に注意)
  • 解決される内容:
    • 特になし。ソースが若干見やすくなり、余計な処理が一部無くなる程度。

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

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

  • [loadNotes] Correction計算を譜面の読込時に行うように変更。
    これにより、以後の箇所で_root.correctionの記述が不要になった。
  • [loadNotes] 譜面の読込時に必要なデータを数値化。
    これにより、以後の箇所で文字列を数値変換する処理のほとんどが不要になる。
    (全く要らなくなったわけではないので注意)。

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

  • 対象ソース: ver fd 3.10.0 以降 (実質 ver fd 3.5.0 以降も対象だが変数名に注意)
  • 解決される内容:
    • 読み込み画面で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, フェードアウト周りの修正 )

  • 対象ソース: ver fd 3.10.0 以降 (実質 ver fd 3.5.0 以降も対象だが変数名に注意)
  • 解決される内容:
    • StepArea ≫「Flat」でフェードアウトすると線が消えない。
    • フェードアウト速度とフェードアウト間隔を最初の初期化で指定可能に。

[最初の初期化]
以下の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, フェードイン+速変処理の修正 )

  • 対象ソース: ver fd 3.10.0 以降 (実質 ver fd 3.0.0 以降も対象だが変数名に注意)
  • 解決される内容:
    • フェードイン時、速変間隔が激しいと速変されないことがある。

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

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

  • 対象ソース: ver fd 3.10.0 以降
  • 解決される内容:
    • BarDrain ≫ Normal 時にライフがノルマを達成していなくてもクリアになる(フェードアウト時)。( ver fd 3.12.6〜7 )
    • フェードアウトを使用する際の fadeTime の設定。 ( 新規 )
    • フェードアウト後、音量が元に戻らない。 ( ver fd 3.12.6 )
    • フェードアウトしても結果画面に行かない。( ver fd 3.11.1 )

フェードアウトの仕様変更。
全譜面フェードアウトのときは[譜面台]における 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, オプション画面の回復/ダメージ表記 )

  • 対象ソース: ver fd 3.12.3
  • 解決される内容:
    • BAR_DEFAULTをNormalにすると、オプションの回復/ダメージ表記が無くなる。

[最初の初期化]
オプション初期化と書かれたところを探して、その下付近。 赤字を追加する。
==============================================================================
  / ライフ設定
  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, 特定の変速を行った場合のオプション画面上の表記修正 )

  • 対象ソース: ver fd 3.10.0 以降 (ver fd 3.0.0以降も対象だが変数名に注意)
  • 解決される内容:
    • 特定の途中変速/個別加速を掛けた場合に、オプション画面の最低/最高倍速がおかしくなる。

[最初の初期化]
プレイ時の最高/最低倍速の算出と書かれたコメントを探して、その下付近。
赤字を追加。(読み込んだ変数の数値化を行っている) ==============================================================================
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, 代替キーの設定修正 )

  • 対象ソース: ver fd 3.10.0 以降 (ver fd 3.7.0以降も対象だが変数名に注意)
  • 解決される内容:
    • 代替キーにおいて、フリーズアローが使用できない。

[※タイトル]スプライト→ [設定]ラベル→ 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;
}
==============================================================================

  • 参考
    • _root.replaceArr (オレンジ⇒青)
      キーがどの矢印に対応しているのかを表したもの。
      例 ) 11番目のキー ⇒ 9番目(上矢印)に対応
    • _root.replaceInv (青⇒オレンジ)
      _root.replaceArr の逆変換。
      この矢印に対応するキーがどれかを表すもの。

      replaceArr.png

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

  • 対象ソース:ver fd 3.9.1以前 (キーアクションにリスナを使っているソース全て)
  • 解決される内容:
    • 全角モードでプレイするとキーが反応しない(仕様だが、修正により回避が可能。swf8のみ)

[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

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


添付ファイル: filereplaceArr.png 551件 [詳細]

ホーム   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-06-28 (木) 22:00:35 (1736d)