スポンサーサイト

--. . --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

縦サイズ / ステップゾーン位置変更 (11/2修正)

2007. . 24
やりたい人用に。
バージョンは ver fd1.15.6。
それ以前でも近い部分を弄ればできます。

10/24 14:37 更新
11/1  2:37  一部修正 (赤字の※部分)
11/1 22:30  一部修正 (赤字の※部分)
11/2 13:05 ハーフウェイ部分について追加・補足 (赤字の※部分)
11/2 13:45 ↑を再修正
まず、知っておくと良さそうな変数(定数)から。

> Stage.height
 swfの縦の長さが入ってます。ちなみに横の長さは"Stage.width"。

> _root.set_spy
 ParaFlaソースではおなじみ(?)の変数。
矢印の出現位置を表します。

> _root.def_spy
 矢印の移動距離。基本的に300動いたら消えます。
 速度変化するときに使います。

> _root.start_y
少し前のソースだと _root.delta_spy + 50 に対応します。
 「50」はステップゾーン位置。これも速度変化するときに使います。


とりあえずこのくらいでOKです。

基本的に弄るのは
「最初の初期化」「スタート初期化」「譜面台」のASだけ。
以下、縦の長さを変えることに注目して進めて行きますが、
所々にある「50」はすべてステップゾーンの位置に対応します。
変えたい場合はこの数字をたどってみて下さい。

1.「最初の初期化」AS

次の文を加えます。
 _root.heightY=Stage.height;   // 縦の長さ
 _root.distY=_root.heightY-50;  // 移動距離
この2文を入れることで、サイズ変更にも対応できます。
この2変数は後でも使っていきますよ。

2.「スタート初期化」AS

次のように、「速度の初期化」という部分があると思いますので
その部分を次のように修正(色つきの部分)。
基本的に数字だった部分が上書きされてます。

// 速度の初期化
_root.olds=_root.set_spi;    // 初期スピード
_root.set_spy=_root.heightY+spdDel+mot_plus;  // 矢印の初期位置
_root.def_spy=_root.distY-stepDelta+spdDel;  // 実際の移動距離
_root.start_y=50+stepDelta+mot_plus;  // 速度変化時の固定部分

「矢印・フリーズアロー初期設定(onLoad)」と書いてある下の部分で
似たような部分を次のように修正。

this[copnam]._y = (_root.revn[j]==1 ?
  _root.set_spy : _root.heightY-_root.set_spy);

※ 11/1 追加
function mov_arrow, fmov_arrow の2つの関数で、
this.moveY>190 を this.moveY>_root.heightY/2+15 に直します。


以上でスタート初期化の部分は完了。
紫色の部分はステップゾーンの位置を変える場合。

3.「譜面台」AS

「矢印色・ステップゾーンの設定」と書いてある下の部分で
似たような部分を次のように修正。

this[hAr[j]+"_step"]._y =(_root.revn[j]==1 ?
    50+stepDelta : _root.distY-stepDelta); // ステップゾーンy座標

(バージョンによって違いますが、ここは該当するところ上書きでもOK)

これでOK。

4.スピード設定

「◎オプション設定」から、「ラベル:Speed」の下にある
テキスト(ボタン)のAS。2つあります。両方とも
_root.set_cnt=Math.round(_root.distY/_root.set_spi);
_root.spdDel=(_root.distY/_root.set_spi-_root.set_cnt)*_root.set_spi;
このように直します。
(直す必要があるのは、移動距離が変わるため)

※ 追加 (11/1更新)
スプライト「※タイトル」の1フレーム目(オプション初期化)のAS部分にも、
上と同じような場所があるので同様に直します。



5.ハーフウェイの設定
(ver fd1.15.5以前だと、_root.set_cnt と _root.spdDel の部分は不要)

「※タイトル」→「ラベル:設定」
テキスト 0001 4 (290, 370) ... の部分。

一番下の方にある、該当する部分を次で置き換え。
(赤字部分に変える)

// Halfway のときは移動距離が短い
if(_root.stepArea=="Halfway"){
  _root.set_cnt=Math.round((_root.heightY/2)/_root.set_spi);
  _root.spdDel=((_root.heightY/2)/_root.set_spi-_root.set_cnt)
        *_root.set_spi;
  _root.stepDelta=(_root.distY-50)/2;
}

説明粗いですがこんな感じにすれば。
※11/2 追記
上の"50"もステップゾーンの位置変更に関係します。
スポンサーサイト

comment

mi
こんばんは。いつもお世話になってます。

この記事に従ってステップゾーンの位置を変更してみたのですが、
判定の位置が変わらないみたいです。
ステップゾーンの見た目の位置はちゃんと変わっているのですが…

Halfway設定時はちゃんと判定されます。
Reverse、Splitその他Scrollを変更した時は判定位置がおかしいままです。
ソースのバージョンは1.15.6が手に入らなかったため1.15.7です。

1.15.7だと上の記事そのままではいけないのか、
それとも何か別の問題があるのか
教えて頂けないでしょうか。

宜しくお願いします。
2007.10.31 22:08

post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

trackback

trackbackURL:http://alprime.blog91.fc2.com/tb.php/81-62d6fd95
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。