したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

質問・疑問関連スレ

1tickle★:2005/01/28(金) 21:56:23 HOST:cachesv4410.tk.mesh.ad.jp[FLA1Aew153.tky.mesh.ad.jp]
何か質問などあればこちらへ。
果たしてどこまでサポートできるかわかりませんが。。

201T/R ◆FErv3aPHjk:2006/03/21(火) 19:02:24 HOST:s188040.ppp.asahi-net.or.jp
>>200
おかげさまで全て直りました。

過去の作品が重すぎるので、新ソースに全て差し替えようとしたら
また問題発生です('A`)

作曲者のリンクをクリックしてもページが開かないorz

曲のASは、
on (release) {
getURL(_root.Music_ad[0] , "_blank");
}
フレームのASは、
Stage.showMenu = false;
_root.Music_ad = _root.Music_URL.split(",");
_root.tune_ad = _root.Tune_URL.split(",");
this.loadVariables("option.txt");
this.loadVariables("dos.txt");

変数の内容はoption.txtに入れてあります。
確か送ったソースと大体同じのはずです。
変数の最後に ,  を入れても意味ありませんでした。

何をどうすればいいか教えて下さいm(____)m

202tickle★:2006/03/21(火) 20:01:47 HOST:FLA1Adr242.tky.mesh.ad.jp
>>201
変数代入の後に"option.txt"を読み込んでしまってます。
this.loadVariables("option.txt");
this.loadVariables("dos.txt");
はローディング時に読み込ませるようにしておけばOKかと。

203T/R ◆FErv3aPHjk:2006/03/21(火) 20:15:42 HOST:s188040.ppp.asahi-net.or.jp
>>202
1時間掛けて出来なかったのが一瞬にして・・・www
今までtickleさんに教えてもらったのを全て記憶して今後生かします(^ω^ )

・・・・でも新ソースの上の曲名表示はすんなり出たのは何でだろう??
まあいいや(ry

次は軽量化('A`)

204T/R ◆FErv3aPHjk:2006/03/30(木) 18:57:30 HOST:s188040.ppp.asahi-net.or.jp
配布用swfを作る途中で問題が。

ライフゲージが異常なまでに重いので、
tickleさんのソースを見て、

Σ(゚Д゚)これだ

と閃き、ASを加工して弄ってみました。
結論から言えば、ライフゲージがおかしい、ということです。
貼り付けたASはこのとおり↓

ライフゲージに貼り付けたもの

onClipEvent (enterFrame) {
this._xscale = _global.life;
if (_global.life=100) {
this.guage.gotoAndStop(2);
} else {
this.guage.gotoAndStop(1);
}
}

ライフゲージの中に、MAXゲージのときの言葉と、guage と名前を付けたゲージ元があります。

・・・・これで分からなかったらflaファイルをメールで送ります。

tickleさんに教えてもらったことは数知れず・・・。

205tickle★:2006/03/31(金) 00:20:04 HOST:FLA1Adr242.tky.mesh.ad.jp
>>204
ライフゲージがはみ出してしまうとか、
途中のバーで止まってしまうとか、
そういった症状でも書いておくとわかりやすいかもしれません。
ソースを送る前に、ある程度詳しい症状だけでも書いておくと
わかることもありますよ。

自分のライフゲージの仕様に合わせるなら、
ライフゲージの中へ入り、
1フレーム目でバー部分を全部塗りつぶして
それを右クリック、「シンボル化」します。(名前は適当で)

例えば、シンボル名を"GaugeLine"、ここで使う別名
(シンボル化した後、
 左下の"ムービークリップ"と書かれているものの下の空白部分)
を"GaugeMeter"とでもしておきます。

2フレーム目はそのままキーフレームを挿入すれば
前のものが維持されて表示されるのでこのまま。
MAXゲージの文字を入れます。
(その際、何度も往復されないように各フレームにstop();を入れます)

そしてメインに戻り、ライフゲージをクリックして、
その部分のASを
onClipEvent(enterFrame){
  this.GaugeMeter._xscale = _global.life;
  this.gotoAndStop(_global.life == 100 ? 2 : 1);
}
としておけばOKかと。
つまり、>>204では_xscaleの参照先が間違っています。
たぶん、バーだけでなく外枠まで縮まったのではないかと。

206tickle★:2006/03/31(金) 00:26:13 HOST:FLA1Adr242.tky.mesh.ad.jp
>>205
追記。
ゲージ内移動の参照先も違ってますね;
"ゲージ元"というのが外枠を除いたバーのみのシンボルだとするなら、
onClipEvent (enterFrame) {
  this.guage._xscale = _global.life;
  if (_global.life=100) {
    this.gotoAndStop(2);
  } else {
    this.gotoAndStop(1);
  }
}
のようにするかですね。無理なら、まず>>205のようにするか、
ライフゲージそのものをコピペして
AS内にある
_global.life_option.life → _global.life
に直せば良いです。

207tickle★:2006/03/31(金) 00:28:19 HOST:FLA1Adr242.tky.mesh.ad.jp
>>206
3連投。何やってるんだかorz
>>204のASのミス、もう1つありました。

if(_global.life=100){...ではなく、

if(_global.life = = 100){...です。
あえて誇張して書いていますが、"=="のことです。

208T/R ◆FErv3aPHjk:2006/03/31(金) 10:03:28 HOST:s188040.ppp.asahi-net.or.jp
>>205-207
症状書くのすっかり忘れてましたorz

イイがどれだけ出てもライフゲージが回復しない
そして最初からゲージがMAX
にもかかわらずMAXゲージのときの文字が出てこない

纏めると、【最初からMAXゲージで文字が出てこない】

こういうわけです。

仕組みをもっと分かりやすく書きます。

ますライフゲージの名前がbar そこには外枠があります。
その中にguageというバー元があり、外枠、文字がレイヤーに分かれています。
guageの中はバー元のイメージを変えるだけ tickleさんのと大体同じ筈です。

_global.lifeをいろいろ調べましたが、【私の調べでは】問題ありませんでした。

・・・・私の調べ ってとこかなり重要(・∀・;;

>>207を見て、=と = =の違いが分からなくなりましたorz
私の前の概念は、
文字だったら= =数値だったら= だと思っていました。
変数に数値を入れる場合は= =なんでしょうか?

いろいろありますがお願いしますです。。。

209tickle★:2006/03/31(金) 13:05:15 HOST:FLA1Adr242.tky.mesh.ad.jp
>>208
まず、>>206のようにASを入れてみてください。
もちろん、"="は"=="に直しますが。
入れる場所は、シーン[メイン]でライフゲージを表示する場所です。

参照先が違っていて動いていないだけだと思います。
簡単に書くなら、
onClipEvent(enterFrame){
  this.Guage._xscale = _global.life;
  this.gotoAndStop(_global.life == 100 ? 2 : 1);
}
でいいかと思います。
それで動かなければ一旦>>205の手順を確認してください。

= と == については次のレスにて・・・

210tickle★:2006/03/31(金) 13:07:40 HOST:FLA1Adr242.tky.mesh.ad.jp
>>"="と"= ="の違い
よく勘違いする部分なので、書いておくと・・・

○ "=" [代入]
 通常の式では「イコール(等号)」を指しますが、
 ASなどで使う"="はイコールではなく、「代入」を意味します。

例えば、「a = 6;」と書けば、
「"a"という変数に6を代入した」
ということになります。
ASで使うような文字の場合には、
 _global.reverse = "cross";
は「_global.reverseに"cross"という文字を代入した」
のように。
わかりやすく?書けば
 a ← 6
 _global.reverse ← cross
な感じで捉えておけばいいかと。

○ "= =" [イコール]
 上に似ていますが、こちらのほうが「イコール」です。
 ごちゃごちゃしそうですが。
 主に、条件式で使うことが多いかも。

 if(j == 6)は
「もし jという変数の中身が6ならば」
 if(_global.reverse = = "cross")は
「もし、_global.reverseという変数の中身が"cross"だったら」
ということなので前の"="とは違う意味です。

要するに、「代入(右のものを左の変数に入れる)」と
「等号(左右が等しいかどうか?)」の違いってことです。
意味としては違うものですよ。

211T/R ◆FErv3aPHjk:2006/04/02(日) 16:44:18 HOST:h198167.ppp.asahi-net.or.jp
>>209-210
何とか直りました。
やはり=と= =の違いでした。

さらにASを研究していたところ、仕組みが分からないものを見つけました。

tickleさんの冷凍矢印搭載ソースは、曲swfを外部から入れる仕様ですが、

1 swfを入れるASが見つからない
2 どのムービークリップに入れるのか分からない
3 入れるフレーム数が無い(はずなのに正常に作動してる)

この仕組みについて教えてください。

そしてもう一つ。

得点計算の、
// ランク判定後にスコア計算
_root.speed_check = Math.abs(_global.SpeedUp[0]) / 2;)
_root.speed = "×"+_root.speed_check;
に使われている、Math.absの意味を教えてください。
・・・私が昨日買ってきたASの本には書いてありませんでしたorz

只今AS猛勉強中 MAKE矢印みたら頭が壊れそうなT/Rですた(ry

212tanishi ◆Pika524cbU:2006/04/02(日) 16:59:12 HOST:softbank218181193078.bbtec.net
>math.abs
絶対値だったと思います。

エディターにバグらしきものが(というか仕様かも
ストップの間隔詰めるとズレます。
あと、ストップが譜面の数値に影響しないことがありました。

矢印出現位置固定で速度変化ってどうするんだろう…。

213T/R ◆FErv3aPHjk:2006/04/02(日) 17:04:54 HOST:h198167.ppp.asahi-net.or.jp
>>212
どうもです。

Math.abs本にあったorzorzorz

後は外部からのswf挿入・・・・。
フレーム数がなくても関係ない・・・?

んなこたぁない(ry

214tickle★:2006/04/02(日) 17:11:15 HOST:FLA1Adr242.tky.mesh.ad.jp
>>211
答えやすいものから答えておきます。

>>Math.abs
多分、「Math」の部類で入っていると思います。
よく使いそうなものを挙げておくと・・・
・ Math.abs(number)
  − numberの絶対値を取る(マイナス部分を取り除く)
・ Math.random()
  − 0以上1未満の数字(小数)をランダムに取得
・ Math.round(number)
  − numberを整数値に丸める(四捨五入)

>>1 swfを入れるASが見つからない
シーン「設定」の
4フレーム目くらいにある「譜面ファイルを・・・」
をクリックするとわかります。

>>2 どのムービークリップに入れるのか分からない
ムービークリップに入れるというよりは、
指定した別の階層にswfを挿入しているだけです。
ブログにそのあたりは書いたような気がします(たぶん半年以上前)。

>>3 入れるフレーム数が無い(はずなのに正常に作動してる)
_parent._currentframe(現在のフレーム数)で制御しているのではなく
「MAKE矢印」の一番下のほうにあるframe_numの値を増やすことで
フレームを進めなくても矢印が生成されるようにしています。

ちなみに、音楽ファイルには
「読み込み完了フラグ」と「音楽終了フラグ」しか重要な変数はありません。

215tickle★:2006/04/02(日) 17:21:59 HOST:FLA1Adr242.tky.mesh.ad.jp
>>212
>>エディターのバグ
フリーズアローをストップ付近に置くと
ズレることは確認してます。
現在、バグ原因を探している途中です・・・orz

>>矢印出現位置固定で速度変化
今のところ考えている方法は・・・

1.速度変化は現状維持で、初期倍速の位置を固定する
  (1.5x, 2xでも同じ位置から出てくるようにするが、
   速度変化した場合は今まで通り座標制御)
 → こちらはストップを内部設定すれば実現できそうです。

2.速度変化も、初期倍速も出現位置固定
 → 考え中ですが、とりあえず考えられるとすれば
   変化する場所ごとに矢印の塊を配列で区切り、
   再計算して矢印を生成させる・・・

無理ではないですが、配列と条件式の関係で動作が不安です。
これが軽量化できるようなら、順序入れ替え操作不要で
矢印個別加速でも低倍速が行けそうな気はしますが。。

216T/R ◆FErv3aPHjk:2006/04/02(日) 17:32:17 HOST:h198167.ppp.asahi-net.or.jp
>>214
すぐに答えていただき有難う御座いました。。。
Math.absは上にあるように本に載ってありましたorz

フレーム数増やすASはframe_num++という事でしょうか?
他のところは、曲の時間設定とか矢印の設定とかが溢れてました。。。

tickleさんの5key・・・・(´・ω・`) いや何でもありません(ry

217tickle★:2006/04/02(日) 17:45:17 HOST:FLA1Adr242.tky.mesh.ad.jp
>>216
>>フレーム数増やすASはframe_num++という事でしょうか?
そうですね。その数と譜面ファイルの数字を使って比較して
矢印を生成してます。

>>5keyソース(?)
つまり、7keyの機能のソースを5keyに移植するって意味ですかね。
>>189-193にも同じような感じが。。)
7keyソースから改造しようと思えばできますが、軽量化しないとorz

218T/R ◆FErv3aPHjk:2006/04/02(日) 17:47:59 HOST:h198167.ppp.asahi-net.or.jp
>>217
あ、ソースじゃないソースじゃない(滝汗

5keyの作品はまだかな・・・なんて思ってたりw

とりあえず、7鍵のソース、頑張ってください(・∀・)ノ~~

では塾に行ってきます壁|・_・)ノ

219T/R ◆FErv3aPHjk:2006/04/02(日) 17:52:39 HOST:h198167.ppp.asahi-net.or.jp
おっと忘れてた

Difficultyの設定がどうもおかしいので症状とファイルをメールで送ります。
flaファイルはdifficultyのシンボルしかありません。
option.txtも添付しときます。

それでは行ってきます壁|・_・)ノ

220tickle★:2006/04/02(日) 18:10:41 HOST:FLA1Adr242.tky.mesh.ad.jp
>>218
5keyはソースも譜面も出る幕がない気g(ry
ソースができれば作るかもしれないです。

>>219
添付ファイルありませんでしたよー;
容量オーバーで切られた可能性があります。。

多分、7keyの設定通りにすれば「Difficulty」は動くと思います。
フレームのASだけじゃなくて
ボタンのASも条件式入れてたりしてるのでそのあたりを探ってみてください。

221T/R ◆FErv3aPHjk:2006/04/02(日) 19:55:41 HOST:h198167.ppp.asahi-net.or.jp
>>220
あまりに焦ったあまり添付するのを忘れたという(ry

再送信しますorz

222:2006/04/03(月) 11:34:29 HOST:softbank219022232063.bbtec.net
突然すいません。
twenty_dot様のソースを元に
自分好みの操作性を付け加えようと四苦八苦している梨という者です。

困っていることなのですが、
曲中タイトルバックすることはできたのですが
曲中リプレイすると、リプレイ前に入力していたキーは
当たり判定がなくなってしまう?というものです。


この件について修正する方法が分かる方がいらっしゃいましたら
どうか教えてくださいorz

223tickle★:2006/04/03(月) 16:21:45 HOST:FLA1Adr242.tky.mesh.ad.jp
>>222
状況から察するに、被り判定がついているバージョンのようです。
「Replay」(ボタンを押すとリプレイ)を入れる箇所に

_global.objCnt=[0,0,0,0,0];
for(j=0;j<5;j++){
  _global.nowJudgeArrow[j]="Arrow_"+j+"_"+objCnt[j];
}
を入れてみてください。

矢印の番号によって判定するかどうか決めているので、
矢印の番号部分も初期化する必要があるわけです。

他の部分に関しては、基本的に
にゃじらさんのサイトのAS解説通りでOKだと思います。

>>ALL
独自ソースでない限り、
DLしたソースのバージョンを一緒に書いておくと
対応しやすいです(たいていは最新だと思いますが)。

224tickle★:2006/04/03(月) 16:30:52 HOST:FLA1Adr242.tky.mesh.ad.jp
>>223
追記。マスクの存在を忘れてましたorz
↓も、「Replay」するところに加えておいてください。

this.mask.removeMovieClip(); // マスクを消す
this.life_main.removeMovieClip(); // ライフゲージを消す
this.status_quality.removeMovieClip(); // 画質表示を消す
this.effect.removeMovieClip(); // 判定(矢印)を消す
this.effect2.removeMovieClip(); // 判定(フリーズアロー)を消す
_global.SpeedUp=_root.speed_lock; // 速度をデフォルトに戻す
unloadMovieNum(1); // 音楽を止める & swf破棄
_level0.musicFlag=false;

尚、リプレイのラベルは「譜面変換」のシーンに書くよりは
「設定」シーンで新たにフレームを作っておくほうがいいと思います。

225tickle★:2006/04/03(月) 16:33:04 HOST:FLA1Adr242.tky.mesh.ad.jp
階層ミスorz
>>224は間違えなので、こちらで。。

_parent.mask.removeMovieClip(); // マスクを消す
_parent.life_main.removeMovieClip(); // ライフゲージを消す
_parent.status_quality.removeMovieClip(); // 画質表示を消す
_parent.effect.removeMovieClip(); // 判定(矢印)を消す
_parent.effect2.removeMovieClip(); // 判定(フリーズアロー)を消す
_global.SpeedUp=_root.speed_lock; // 速度をデフォルトに戻す
unloadMovieNum(1); // 音楽を止める & swf破棄
_level0.musicFlag=false;

226:2006/04/04(火) 15:13:39 HOST:softbank219022232063.bbtec.net
tickle様、すばやい返答をありがとうございます。
&Verを書かずに申し訳ありませんでした(汗
(仰るとおり最新版でございます。。。)

でもって、本題。
早速やってみるとしっかりキーを押せるようになりました!


ただ、なぜか音楽用swfの読み込みがとまってしまう?のかなんだかで
曲が流れませんでした。

ものは試しと「unloadMovieNum(1); 」を消してみたら
あっさり動いたので報告しておきます。

本当にありがとうございました。

227Free Walker:2006/04/16(日) 19:13:07 HOST:p9304a5.tokyte00.ap.so-net.ne.jp
ここの7keyの速度変化(イニシャルTとかと違うやつ)のやり方がイマイチわかりません;
5keyの速度変化をそれにしたかったんですが…
ちなみに5keyのVerは祭り05のときのやつです。

228tickle★:2006/04/16(日) 21:36:23 HOST:FLA1Adr242.tky.mesh.ad.jp
>>227
基本的に「MAKE矢印」の部分のみを弄ります。
多少長くなりますがご了承を・・・

まず、下準備として
onClipEvent(load){・・・}
の中にある
  _root.speed_rock = _global.SpeedUp;
  SpeedY1 = _global.SpeedY;
  SpeedY2 = _global.SpeedY-(70+300*(_global.SpeedUp-1));
の文の後に
  _root.speedY1_rock = SpeedY1;
    // スクロールが通常のときの矢印の初期開始位置
  _root.speedY2_rock = SpeedY2;
    // スクロールがリバースのときの矢印の初期開始位置
  _root.out_rock = _global.out;
    // 枠外ウワァンの初期位置
の3文を入れます。これを基準に加速させます。

次に、function move2(){・・・}, function move1(){・・・}
共通で、まず
function move2(sp){    // ()内に"sp"と入れる[引数]
  return function(){   // この文を挿入(クロージャ)
    var sp_rock = sp; // この文も挿入
    if(_global.life<0){
     ・・・(以下略)・・・
  }; // 関数の終わりの手前1行にこれを入れる(セミコロンも)
}

長くなるので次レス>>229に続けます・・・

229tickle★:2006/04/16(日) 21:44:17 HOST:FLA1Adr242.tky.mesh.ad.jp
>>228の続き

>>228のmove2については、
function move1についても同じことをします。

次に、これもmove1,move2共通で、
この関数内にある
(function move1{・・・}, function move2{・・・}の・・・部分)
"_global.speedUp"と書かれている部分を
すべて"sp_rock"に置き換えてください。

これで、矢印のスピードが途中で変わることがなくなります。
(矢印を個別に加速すればいいので)

次に、function make_left, function make_right,...
の関数に移ります。
この関数内に、
 _parent[newArrowName].onEnterFrame
    = eval("this.move"+_root.Reverse_array[0]);
のような文があるので([]内の数字は矢印によって変わります)、
 _parent[newArrowName].onEnterFrame
    = eval("this.move"+_root.Reverse_array[0])(_global.speedUp);
のように、
"(_global.speedUp)"を付け加えてください。
これは、make_right, make_up, make_down, make_space
についても同じです。

もう少し続きます・・・(あと少しですが >>230

230tickle★:2006/04/16(日) 21:52:28 HOST:FLA1Adr242.tky.mesh.ad.jp
>>229の続き(一応ここまで)

onClipEvent(enterFrame){・・・
以降の部分についてです。ここで、変速する部分を作ります。

onClipEvent(enterFrame){
の直後に、次の文を入れてください。
if (_parent._currentframe == speed_timeline[s]-150) {
  var sp_delta = (speed_timeline[s+1]-1)*2;
  // どのくらい加速させるかを決める
  _global.speedUp = _root.speed_rock + sp_delta;
  SpeedY1 = _root.speedY1_rock + 150*sp_delta;
  SpeedY2 = _root.speedY2_rock - 150*sp_delta;
  _global.out = _root.out_rock - 10*sp_delta;
  // _global.speedUpなど、
  // スピードに関する部分をすべて変更
  s += 2;
}

そして最後に、最後のほうにある
if (_parent._currentframe == speed_timeline[s]) {
  //_global.SpeedUp = _root.speed_rock*speed_timeline[s+1];
}
と書いてある部分を消します。

これで、一通りは完成です。(もちろん、コピペでなく手打ちで入れます)
速度変化するときは、エディターver2ではなく
フリーズアロー対応のエディターを使ってください。

わからない部分があれば、どの部分がわからないかを言ってくれれば幸いです。

231tickle★:2006/04/16(日) 21:55:27 HOST:FLA1Adr242.tky.mesh.ad.jp
>>228-230に補足で。

このやり方は、1倍速未満には対応していません。
また、曲中リプレイをする場合や結果画面からリプレイさせる場合、
スピードを一度初期化する必要があります。

232Free Walker:2006/04/16(日) 22:48:33 HOST:p9304a5.tokyte00.ap.so-net.ne.jp
うわぁ…
お手数かけさせてしまって申し訳ありません;
よく分かりました。ありがとうございます。

233T/R ◆FErv3aPHjk:2006/04/22(土) 01:09:17 HOST:u062172.ppp.asahi-net.or.jp
また質問です。

毎日tickleさんやtwenty-dotさんのflaファイルを見て研究しているんですが、
分からないのがあります。

そのうちの一つ、メインのフレーム調整が分かりません。

twenty-dotさんのやつには、フレームにフラグがあり、そこに飛ぶようにするようですが
仕組みが見つからず。

tickleさんのやつにはスタート、メイン、シャッターの3フレームしかなく、
フレームを増やす仕組みは、MAKE矢印の最後の、frame_num++しか見当たりませんでした。

勿論この変数は一体何なのかは全く分かっていません。

出来ればこの仕組みを教えて下さい。

・・・・よくわからない文章になっちゃったorz

234tickle★:2006/04/22(土) 01:41:36 HOST:FLA1Adr242.tky.mesh.ad.jp
>>233
>>214の通り、フレームを増やすのはframe_numだけです。
スタートのモーションが終わればメインに、
メインが終われば(曲終了フラグが立てば)シャッターに移る仕組みです。

それまでは、stop();によって表面上はフレームを止めています。

表面上は、というのは
 stop();
が出てきたからといって、止まって何もしないわけではない、ということです。
つまりは stop();をしても、処理は続いてます。
(何度も同じフレームに入っている、と考えたほうがいいかも)

onClipEvent(enterFrame){ 以後は、
「フレームに入るたびに行う処理」です。

だから、ここに入っている"frame_num++;"は
stop(); で止められていても同じフレームに何度も入るので
frame_numは同じフレームに入るたびに増えていきます。

これがフレームが増えるのと同じようにできるので
このようにしています。

フラグ関係はメイン部分だけでなく、
曲ファイルの変数と連係して動かしているので、
曲ファイルと一緒に見るとわかるかも。

ちなみに、自分の曲ファイルには>>214の通り
「読み込み完了フラグ」(メイン開始)と
「音楽終了フラグ」(メイン終了→シャッター)
がメインとつながっている変数です。

235T/R ◆FErv3aPHjk:2006/04/22(土) 02:14:07 HOST:u062172.ppp.asahi-net.or.jp
>>234
│ ・ω・)<フレームを増やす設定が上手くいきません

MAKE矢印の、onClipEvent(enterFrame)の中にframe_num++;
を入れてみましたが上手くいきません。

frame_numの定義自体知らないので何をどうするのやら。

こんな時間にでもソース弄ってますよ('A`)

眠気なんか襲ってこない(だって昼寝しちゃったから(爆

tickleさんはもし今起きてたら何やってんでしょうか(・∀・)

236tickle★:2006/04/22(土) 02:29:23 HOST:FLA1Adr242.tky.mesh.ad.jp
>>234
「Make矢印」の最初のところ
onClipEvent(load){
・・・
}
の中に、
  var frame_num = 1;
を入れる。(つまり初期化です)

frame_numはローカル変数なので
「Make矢印」以外では使われていません。

多分今日はそろそろ寝ます(ぁ

237T/R ◆FErv3aPHjk:2006/04/22(土) 22:51:28 HOST:u062172.ppp.asahi-net.or.jp
onClipEvent(enterFrame)の
if (this._current.frame == left_timeline[v]-150) を、
if (frame_num == left_timeline[v]-150) に変えて出来ました。

これで一つ分かりましたです。。。

まだ質問が(ぁ

今度は判定です。

判定のカウントは1つに纏められる事を、ソースをみて分かりました。
でも分からない箇所が。

曲中設定に、
function judgeArrow(num){
var j = num;
// ターゲットの矢印のみ判定をする
var crtCnt = Math.abs(_root[_global.ArrowMC[j]].count-150);
_root[_global.ArrowMC[j]].pick = true;
_root[_global.ArrowMC[j]].gotoAndPlay(5);

_global.temp[j]++;
_global.ArrowMC[j] = "Arrow"+ j +"_"+_global.temp[j];
if( crtCnt < 4){
this.ii_judge();
} else if ( crtCnt < 7){
this.matari_judge();
} else {
this.uwan_judge();
}
}
というようなjudgeArrow関数を見つけました。(MusicSelectソース)

その下にはそれぞれの判定ごとにライフゲージやらなんやらの設定があります。

ここで分からないのは3つ。

1、var crtCnt = Math.abs(_root[_global.ArrowMC[j]].count-150);の意味。

それぞれのArrowMC[j]で作った矢印に関係するとは思っていますが、絶対値を求めて何をするのか分からず。

2、_root[_global.ArrowMC[j]].pick = true;の意味。

_global.ArrowMC[j].pickの文さえ見つからず。
何の指令か勿論分かりません。

3、_global.temp[j]++;の意味。

_global.temp[j]の数値を1足すそうですが、効果が分からない。

特に、var crtCntの意味が分かりません。
数値によって判定が変わるようですが・・・。

解説お願いしますm(__)m

238tickle★:2006/04/22(土) 23:23:01 HOST:FLA1Adr242.tky.mesh.ad.jp
>>237
>>「判定部分」
まとめたにはまとめたんですが、軽くなっているかは微妙です(ォィ

>>1、var crtCnt = Math.abs(_root[_global.ArrowMC[j]].count-150);
_root[_global.ArrowMC[j]].countは
「MAKE矢印」のmove_Arrow関数に対応していて
 "this.count"と同じです。
つまり、矢印が生成されてからの時間(フレーム)のことです。
矢印は基本的に150フレームでステップゾーンに到達するので、

このカウンタが147〜153ならイイ、
上以外で144〜156ならマターリ、
それ以外はウワァンになるように設定しています。
-150して絶対値を取っているのはジャストな位置から
どれだけずれたかを表すためのものです。
時間、フレームで判定しているので、
倍速を上げても判定の辛さは変わりません。

>>2、_root[_global.ArrowMC[j]].pick = true;
これもmove_Arrow関数の"this.pick"に対応します。
要するに、この矢印の判定を確定させるためのもので、
これが"true"になった時点で次の矢印の判定に移動します。

>>3、_global.temp[j]++;
2の通り、次の矢印の判定に移行するためのものです。被り判定で使います。
矢印の名前は"arrow2_25"のようになっていて
"_"の右横の数字がその矢印が何番目のものかを表しているので(この場合は25+1番目)、
これを増やしていくことで、どの矢印の判定かを特定させることができます。

239T/R ◆FErv3aPHjk:2006/04/28(金) 23:46:08 HOST:u062172.ppp.asahi-net.or.jp
長い間研究してみたものの、分からないASが見つかりました。

if (this.count <= 157){
} else if (this.count > 170) { // 枠外に矢印が行ったときの処理
_root.half_judge.uwan_judge();
this.removeMovieClip();
} else if (this.count > 157){ // 矢印をスルーした場合の処理
if(this.pick == false){
this.pick = true; // この矢印の判定を確定
_global.temp[j]++; // 後続矢印の判定に移す
_global.ArrowMC[j] = "Arrow"+j+"_"+_global.temp[j];
}
}

枠外に矢印が行くのと矢印をスルーしたときの区別がイマイチ分かりませんorz

そして、1行目のコイツがいる意味が分かりません
                   ↓コイツ
if (this.count <= 157){
}
システムはMusicSelect以外は全て把握しました

最後のこいつらを解説してくださいm(____)m

240T/R ◆FErv3aPHjk:2006/04/28(金) 23:51:29 HOST:u062172.ppp.asahi-net.or.jp
症状を書くのを忘れました

Arrowがあるy座標を超えたときに消えましたorz
恐らく↑のレス ASの4行目のせいだとは思いますが。。。

不等号の向きが違うとしか思えませんがどう弄ればいいのかわからないというorz

241tickle★:2006/04/29(土) 00:11:43 HOST:FLA1Adr242.tky.mesh.ad.jp
>>239-240
矢印が生成されてからの時間が
157フレームを超えたら自動的にウワァンになるようにして
次の判定に移し、
(その後の条件
  this.pick==false
 がつくのは矢印の2重判定を防ぐためです)
170フレームを超えたら消えるようにするという仕掛けです。
(60fpsなので1秒=60フレームくらい)

ステップゾーンを越えても、しばらく矢印が残るのは
このようにしているためです。
y座標で指定するのではなく、
「矢印はこの時間以内しか生存できない」
ようにしているので、それを超えたら消えます。
(「Stair」使ってみるとそのあたりがわかるかも)

残りは次レスにて・・・

242tickle★:2006/04/29(土) 00:15:09 HOST:FLA1Adr242.tky.mesh.ad.jp
>>241の続き
>>if (this.count <= 157){
>>}
これは枠外ウワァン以外のときで、
これは一番条件に引っかかりにくいので
始めに判定させて以降の余計な処理をしないようにするものです。
2,3個ならいいですがもし
if( ){・・・
}else if( ){・・・
}else if( ){・・・
・・・// 20回ほどelse if
}else{・・・ // 一番該当するパターン → すべて通る必要あり
ということになったら、
一番該当するパターンは20回以上if文を通さなくてはいけません。

これでは処理が増える一方なので
if( ){・・・ // 一番該当するパターン → 1回で抜ける
}else if( ){・・・
}else if( ){・・・
・・・// 20回ほどelse if
}
のようにして、始めに逃がしておけば1回の条件判定で済みます。

つまり、処理回数の問題です。。

243T/R ◆FErv3aPHjk:2006/04/30(日) 00:26:28 HOST:u062172.ppp.asahi-net.or.jp
>>241
・・・イマイチ良く分かりませんorz

if (this.count <= 157){
は、「もし"this.count"が157以下なら」という意味の筈です。
そしてMAKE矢印の
_parent[newArrow].onEnterFrame = this.move_Arrow(j, _global.SpeedUp[j]);
で、毎フレーム毎にmove_Arrow関数を読み込むという意味で、
move_Arrow関数の中にあるASで、
読み込むたびにthis.countを1ずつ増やす仕組み、と思っていますが間違いでしょうか?

this.countと作られる矢印のY座標の関係を決めるASが見当たらないので余計分かりません。。。

>>242の内容にある『条件』が何かわかりませんorz

そしてメインソースのY座標を色々調べると、
ムービークリップ名「effect」のY座標が150でした。
下に行くとY座標が増えるので、
if (this.count <= 157){の判定が行われるのはeffectのちょっと上辺りかと。

自分のソースで、swfの高さを合わせて設定してみると、
矢印が出てきてすぐに消えてしまいました。

・・・理解力が悪い俺なので多分ソースを送ることになるかと(ry

244tickle★:2006/04/30(日) 00:52:06 HOST:FLA1Adr242.tky.mesh.ad.jp
>>243
何か勘違いされてるかも。
Y座標は全く関係ありませんよ。
また、「effect」はイイ・マターリ・ウワァン表示を出す部分なので
無関係です。
ただ、>>243の最初の10行はその解釈で合ってます。

this.countの増える条件を確認してくださいな。
function move_Arrowだったり、function move_FreezeArrowな訳です。
その関数が実行される条件は?
→ >>243の通り、フレーム毎に実行されます。

つまり、フレーム毎にthis.countが増えていく、
ということになります。

わかりやすく言えば、キーを押さなかった場合
矢印は出現してから2秒ちょっとで勝手に消える、という意味です。
座標に一切関係なく。
(StairやHalf Wayを実行すれば、座標指定ではないこともわかるかと)

>>242は読み流してOKです。処理量の問題なので。
そうでなくてはいけない、ってこともないですからね。

245T/R ◆FErv3aPHjk:2006/04/30(日) 09:59:11 HOST:u062172.ppp.asahi-net.or.jp
>>244
this.countとY座標が全く関係ないことが今朝起きて気づきました(ぁ

・・・・にも関わらず矢印が出てすぐ消えてしまいますorz
Dazziling soul作り終わってからソース送りますorz

246tickle★:2006/04/30(日) 11:32:38 HOST:FLA1Adr242.tky.mesh.ad.jp
>>245
矢印が消える条件は何かわかりますか?
もし
if(this.count<=157){
  this.removeMovieClip();
}
みたいなことをやってたら確かにすぐに消えますが。。

248T/R ◆FErv3aPHjk:2006/04/30(日) 19:21:22 HOST:u062172.ppp.asahi-net.or.jp
>>246
Σ(・ω・ノ)ノ!!!!

普通にやっちゃってましたorz

if(this.count>=157){
  this.removeMovieClip();
}
だといいんでしょうか?
いまやってみます。。。

249T/R ◆FErv3aPHjk:2006/04/30(日) 19:43:26 HOST:u062172.ppp.asahi-net.or.jp
あれ ちょっと違った

if (this.count<=157) {
} else if (this.count>170) {
// 枠外に矢印が行ったときの処理
_root.half_judge.uwan_judge();
this.removeMovieClip();

・・・これだと正常に動くはずですが。。。

この部分の全体的な解釈

「もし、"this.count"が157以下ではなく、もし170以上なら、
関数"half_judge"の"uwan_judge"を実行して、この矢印を見えなくする」

違ってたら教えてください。。。

250tickle★:2006/04/30(日) 20:39:01 HOST:FLA1Adr242.tky.mesh.ad.jp
>>249
もし被り判定なしでいいのなら
if(this.count >= 170){
  _root.half_judge.uwan_judge();
  this.removeMovieClip();
}
だけで良いと思いますよ。
独自ソースなら、function uwan_judge()の入っている
ムービークリップ名が"half_judge"である必要があります(。 。

"half_judge"は参照先を示すので。。
自分のソースだと「曲中設定」をクリックすると
「プロパティ」パネルの左に"half_judge"と書いてある部分が
ありますがそれのことです。

251Free Walker:2006/05/03(水) 21:24:12 HOST:ddae44ed1.oct-net.ne.jp
HPにdos.txtを複数アップロードする時にはどうすれば良いでしょうか?
同じ名前だと1つしかアップできないし、名前を変えると読み込まなくなります。
お願いします

252tickle★:2006/05/03(水) 21:28:35 HOST:FLA1Adr242.tky.mesh.ad.jp
>>251
フォルダを曲ごとに作って、
そのフォルダに1つのswfファイル、1つの譜面ファイル、・・・
を入れていけばいいかと思います。

例えば、
|−[ music1 ]
|  |-- dos.txt(譜面ファイル)
|  |-- step.txt / option.txt (必要な場合のみ)
|  |-- music1.swf(swfファイル)

|−[ music2 ]
|  |-- dos.txt(譜面ファイル)
|  |-- step.txt / option.txt (必要な場合のみ)
|  |-- music2.swf(swfファイル)

のような感じに。

253Free Walker:2006/05/07(日) 14:23:56 HOST:p9304a5.tokyte00.ap.so-net.ne.jp
Initial-Tのソースでもここの速度変化をやろうと思ったんですが・・・
あのソースは何がなんだかぜんぜんわかりませんw;
目標は両方搭載なんですが;

3時間も無駄になってしまtt(ry

254T/R ◆FErv3aPHjk:2006/05/07(日) 22:33:59 HOST:u062172.ppp.asahi-net.or.jp
Dan★Oni Option-Development
にある項目なのに質問させてもらいます。。。

譜面数を外部で調整する・・・っていうのありましたよね。
あれがどうしてもうまくいかないようで。。。
(今は何故か分かりませんが解説ページ見れませんけど)

外部の設定を読み込ませるテキストはしっかり読めています。
&dif_num=2と入れておきました。
そして、オプション設定が出てくるフレームで、

stop();
_root.speed_lock[0] = _root.speed.split(",");
_root.dif_count[0] = _root.dif_num.split(",");
Number(_root.dif_count[0]);
Number(_root.speed_lock[0]);
this.difficulty.gotoAndStop(_root.dif_count[0]);
this.speed.gotoAndStop(_root.speed_lock[0]);
と長ったらしいASを加えました。
_root.speed_lockとかいうのは、強制オプションをやろうとして加えたものです。

4,5行目を加えたのは、あらかじめ数値にして飛ばせばいいのかなと思って加えたものです。

・・・これでも飛びませんでしたorz
このASをオプションが出るフレームの前に入れてもダメでした。
オプションを設定するムービークリップにも名前を付けました。

_root.〜〜とかの後ろの、[0]をつけるとどうなるのか、がイマイチ分かりません。

tickleさんのソースの、for文を使った[0]とかの意味・概念は分かりましたが、
ここだとイマイチ理解できませんでした。


・・・全く別の質問が一つあります。
tickleさんのソースに、さっき行ったような
『for文』がありますが、どうも納得できない点が何箇所も見られました。
(恐らく私の理解力不足でしょうけど)

例えばMAKE矢印にあるステップゾーンのY座標を決めるこのAS↓

for(var j = 0; j != 7; j++){
_root["StepZone"+j]._y = _global.step_line[j];
_root["Hit"+j]._y = _root["StepZone"+j]._y;
}
ここでやりたい事は、
「j(ローカル変数)の数値(最初は0)が、7になるまで1ずつ足し続けた時に、
_root.["StepZone"+j]と、_root.["Hit"+j]のY座標を、
_global.step_lineのj番目にある数値に設定する」

こんな感じだと思います。
for文の説明は、
for(●;◆;▲)

●は開始条件、◆は終了条件、▲は終了条件を満たすまで毎回すること
とありました。

ですが、↑のASだと、
「jが7じゃなくなるまで以下の内容をする」となり、1回やっただけで終わるのでは、と思いました。

この文を打っている今、 "!="の意味を調べました。
「等しくない」とはっきり載っていました。

解説よろしくおねがいします。。。

・・・打つの疲れた(ry

255tickle★:2006/05/07(日) 23:21:52 HOST:FLA1Adr242.tky.mesh.ad.jp
>>253
「途中変速」と「個別加速」の融合ですか(・∀・;
できれば楽しそうですがw

構想としては、やはり「途中変速」に「個別加速」の機能を
乗せる形になるかな、と。
あと、途中変速と区別するために
&speed_change=400,1.5,600,1,...のように
&speed_data=500,1.5,900,0.5,..と区別する必要が出てきそうですね。

自分も少し試してみましたが、
フリーズアローの場合、
フリーズアローの長さを変える必要があって
これが意外と厄介そうなので後に回すことにします。

あと途中加速中に個別加速させると、
フレーム数の関係でどうしても計算量が多くなるので、
「単発矢印で、途中加速中には個別加速させない」
という条件ならつけやすいのではないでしょうか。

完全版ではないですが、自分が実験的に速度を変えた方法を
次に書いておきます。

256tickle★:2006/05/07(日) 23:44:16 HOST:FLA1Adr242.tky.mesh.ad.jp
>>255の続き
実験的に試した方法を。
強制的に変えているので後で直す必要がありますが。。

・ メイン→「コントロール」から
   function makeArrow(...)の...の部分の後に ", spdPlus"を入れます。
・ 同じ関数内に次の文を入れます。
   var plus = spdPlus;
・ 同じ関数内にある次の文
   this._y -= (...)*_global.speedUp;
 を(...は略してます)、
   this._y -= (...)*(_global.speedUp+plus);
 に変えます。

今度は、function makeArrow(...に移ります。(下のほうにある)

・ この関数内にある
   var sp0 = 70+_global.initY[num];
 を ver sp0 = 70+_global.initY[num]+_global.spdBoost*(300/_global.SpeedUp);
 とします。
 (このsp0は、スクロールがデフォルトのときの
  矢印のスタート地点ではないかと思われます。sp1はリバース。)
・ 同じく、この関数内にある
   _parent[newArrow].onEnterFrame=this.moveArrow(j,0,_global.judgeY[num]-10);
 を _parent[newArrow].onEnterFrame=this.moveArrow(j,0,_global.judgeY[num]-10, _global.spdBoost);
 とします。

ひとまず、これで準備完了です。
続きは次レスにて・・・

257tickle★:2006/05/07(日) 23:46:14 HOST:FLA1Adr242.tky.mesh.ad.jp
>>256の続き(>>253の質問に対して)
「スタート」のASに戻って、
_global.spdBoost = 0; // どれだけ加速するかを表すもの
を入れて(初期化)、

「メイン」→「コントロール」の最下部の"}"の前に
if(frameNumber == 300-(300/_global.speedUp)){
  _global.spdBoost = 3;
} else if(frameNumber == 600-(300/_global.speedUp)){
  _global.spdBoost = 1;
}// マイナスをするのは矢印出現位置から変速させるため

としておくと、矢印個別は一応できると思います。
(ただ、前述の通り途中加速中では使用できません)
外部変数として読み込ませたい場合は・・・
まだやっていませんが、前と似ている部分もあるかと思います。

まず、強制的でも動かしてみるのが一番だと思いますよ。
できたところまででひとまずOKなので。

258tickle★:2006/05/08(月) 00:27:03 HOST:FLA1Adr242.tky.mesh.ad.jp
>>253 (>>257の続き)
ひとまず、強制OPとしてですが・・・こんな感じで。
http://crosswalker.my.land.to/flash/test2/preview.html

259tickle★:2006/05/08(月) 00:41:29 HOST:FLA1Adr242.tky.mesh.ad.jp
>>254 T/Rさん
はもぶろの調子が悪いみたいです。
最近、広告が多いのが関係しているんですかね;

>>AS
_root.speed_lock[0] = _root.speed.split(",");
_root.dif_count[0] = _root.dif_num.split(",");
ではなく、
_root.speed_lock = _root.speed.split(",");
_root.dif_count = _root.dif_num.split(",");
でOKです。というのも、
&speed=1.75,1.25,2,という並びを、
_root.speed_lock = [1.75, 1.25, 2];
と分けるのが"split"の役目なので。。
その配列の0番目を取るから
_root.speed_lock[0]で1.75ということになってます。
あと、
this.difficulty.gotoAndStop(_root.dif_count[0]);
this.speed.gotoAndStop(_root.speed_lock[0]);
は、未設定でこれだとマズイです。
例えば下だと「1.75フレーム」に飛ぶ・・・なんてことはできませんから
ラベル「1.75」を探すことになります。
(ラベルは、ムービークリップ「speed」内のフレームをクリックしたときに
 プロパティの左下に出てくる<フレームラベル>のことです)

ただ、このようなラベルのつけ方だと、「2」の場合などに困るかと思います。
(フレーム2に飛ぶのか、それともラベルの「2」か)
そのため、ラベル名は「speed1」「speed1.25」「speed1.5」
・・・などとしておいて
this.speed.gotoAndStop("speed"+_root.speed_lock[0]);
とするなどが考えられますね。

260tickle★:2006/05/08(月) 00:49:10 HOST:FLA1Adr242.tky.mesh.ad.jp
>>259に追記。
上に関連して、おそらく
 Number(_root.dif_count[0]);
 Number(_root.speed_lock[0]);
は不要な気がします。

>>for文
for(var j = 0; j != 7; j++){
 ・・・
}
は、7でない限りfor文の中身を繰り返すというものです。

j = 0でループに入り、jがインクリメント(+1)されて、
j = 1になります。
j は7ではないので、ループに入り、インクリメントされて
j = 2になります。
j は7ではないので、ループに入り、インクリメントされて
j = 3になります。
・・・(以下略)・・・
j = 7のとき、jは7になったのでループを抜けます。
ここまで、0,1,2,3,4,5,6の7回ループの処理をしました。
つまり、
for(var j = 0; j < 7; j++){
 ・・・
}
と中身は一緒です。(ただ、7でないという条件に変えているだけ)

ループで詰まったら、まず実際に値を入れてみて、
どうなるか見てみるのが一番早いと思いますよ。

261Free Walker:2006/05/08(月) 19:14:19 HOST:p9304a5.tokyte00.ap.so-net.ne.jp
>>255-258
なんか微妙に違ったけどどうにかなりました。ありがとうございます。
ストップ状態で一部の矢印だけ動かすのはきっと初期を0倍速にすればいけますよね。

そしてInitial-Tのソースの外部読み込みが理解できてない人がここにいるんですg(ry

262Free Walker:2006/05/10(水) 17:47:31 HOST:p9304a5.tokyte00.ap.so-net.ne.jp
>>261
無事に自己解決しました。
ソース弄るごとにtickleさん達の凄さを実感する…w;

263tickle★:2006/05/10(水) 22:58:59 HOST:FLA1Adr242.tky.mesh.ad.jp
>>262
一気に理解しようとするのではなく、
具体的に値を入れてみてどういう流れになるか考えていくと
もしスクリプトミスがあってもわかることがあります。
(あるいはスペルミスの可能性など)

ソースをどこか弄れば必ずどこか変わっているはずなので
その変化を調べていくだけでも十分やれるかと。
自分も最初はそんな感じでしたし。。

自己解決して何よりです(・∀・)

264Free Walker:2006/05/10(水) 23:14:12 HOST:p9304a5.tokyte00.ap.so-net.ne.jp
外部読み込みでやると、途中変速を1度でも使うとそこ以降で個別加速できなくなるっぽいです;
内部でやるかなぁ;

265zentpp:2006/05/20(土) 00:27:01 HOST:bb201-12.rosenet.ne.jp
横から初心者質問すいません。。
FlowerのASがいまいちよくわからないです…orz

Dan★Oni Option Developmentのほうもよく読んでみたのですが。。
flowerの項目がないので、orzってました(orz

SlideはFlowerの変形みたいなもの…だと勝手に推測して、
ちょいちょいいじってみたのですが、
やはり7keyと5keyでは少し違いがあるようで、
残念ながらorzでした(orz


具体的にどこがわからないのか?と言いますと、
デフォルトの矢印・おにぎりのx座標の位置を中央に寄せるとこまではわかったのですが、
「矢印をどうすれば途中で各々に移動させられるのか」がよくわかりません><

色々不等号を加えたり、<にしたり>にしたりしてみたのですが…
動いてくれませんでしたorz

大雑把で全然構わないので、
少しだけご指導頂けますでしょうか。。

266tickle★:2006/05/20(土) 02:07:18 HOST:FLA1Adr242.tky.mesh.ad.jp
>>265
>>「Flower」は「Slide」の変形
ええ、その解釈で合ってます。
ただ、dotさんのソースだと対応する変数が違うので
そのあたりに注意が必要です。

そもそも「Flower」がなぜ動くのかというと、
どこかでx方向に移動する操作があるためです。
それは7keyでは this.m_Arrow._x,
5keyでは this.arrowLeaf._xです。(この時点で違うわけですがorz

ブログの説明では
 this.m_Arrow._x = ((j % 4)-1)*(moveX-52);
がそのモーション部分になります。
この"moveX"は、フレーム毎ごとにどんどん増えていくので、
this.m_Arrow._x(モーション矢印のx座標)
が変化することによって移動しているわけです。

また、変化する条件として
 if(this.alpha_line < 0 && moveX < 52){
となっていますが、これはSlideの広がり始めの条件になっています。

「Flower」の場合、移動距離等違う部分があるので
次レスでまとめておくことにしますね。

267tickle★:2006/05/20(土) 02:09:12 HOST:FLA1Adr242.tky.mesh.ad.jp
>>266 「Flower」
ここでは「Ver1.6.10」を参考に弄ってみます。

まず、メイン→「コントロール」の中の
function make_Arrow内の最後の括弧の手前で
// Flowerモーションの場合
 if(j !=4){ // 通常矢印の場合
  _parent[newArrow].arrowLeaf._x = (2-j)*55;
 } else {  // オニギリの場合(位置を30だけずらす)
  _parent[newArrow].arrowLeaf._x = (2-j)*55+30;
 }
と入れます。"arrowLeaf"は7keyのソースで"m_Arrow"に対応しています。

次に実際のモーションですが、これはfunction moveArrow内で行います。
その関数内のできるだけはじめのほうに、
 var moveX = 0; // x方向の移動距離
 var moveDr = (2-idx)/Math.abs(2-idx);// 移動方向と進む距離
を入れます。
進む距離が矢印によって違うのは・・・
Flowerオプションを考えればわかると思います。

あとは、この関数の終わりのほうで実際のモーションを入れればOK。
これに関してはブログの説明とそこまで変わりありません。
ただ、移動距離に関して少し変える必要があります。
ちなみに、通常矢印の場合は
 this.arrowLeaf._x =( moveX >= 55 ? 0 : moveDr*Math.abs(moveX-55));
です。ではオニギリの場合は・・・?

基本的に、モーション系は
moveArrow関数内ですると思ってもらえればOKです。

268tickle★:2006/05/20(土) 02:14:28 HOST:FLA1Adr242.tky.mesh.ad.jp
>>267にミスorz
 var moveDr = 2-idx;
でOKです。

ちなみに、"idx"や"j"というのはどの矢印か?を表していて
"idx","j"の値はそれぞれ
0→左矢印、1→下矢印、2→上矢印、3→右矢印
4→オニギリ、を表します。

269Joker ◆fixyYgyrkU:2006/05/20(土) 17:10:24 HOST:actkyo096038.adsl.ppp.infoweb.ne.jp
どこで勉強したんですか?(ぁ
独学なら、参考にした本とかサイトとか教えてください
あと、MXなんてどこで買ったんですk(黙

270tickle★:2006/05/21(日) 00:27:50 HOST:FLA1Adr242.tky.mesh.ad.jp
>>269
普通に独学です。
でもASやり始める前にC言語やっていたので
その関係で最初からそこそこは弄れました。

でも本はいくつか持ってますよ。
普段使っているのは
「Flash ActionScript逆引き」(秀和システム)とか
「ActionScript ビジュアル・リファレンス」(MdN)あたり。
ランキングを組むときに参考にしたのは
「ActionScript+CGIプログラミング」(softbank)
を使ってました。
他にもいくつかありますが使っている本はこのくらい・・・

サイトはこのあたりから調べるといろいろわかるかも。
http://www.geocities.jp/myflashsouko/flash/index.html

271zentpp:2006/05/21(日) 02:03:09 HOST:bb201-12.rosenet.ne.jp
>>266-268
あああぁ御丁寧にありがとうございます(´Д⊂)

なるほど目からウロコなところが多々ありました。。
今までは、半ば強引に各矢印の位置を変えようとしていたのが問題のようでした。
>"moveX"は、フレーム毎ごとにどんどん増えていく
これを理解していなかったために…どれだけの過ちを…orz

これでやっと、今まで作ろうと思っていたものが作れそうです。
もう少しの間いろいろと悪戦苦闘してみますので、
もし公開出来そうなものに仕上がった場合は報告させてもらいますね(*´∀`)

>>270
このサイトも全然知りませんでした…。
ASが詳しく簡略に載ってるようなので、こちらも是非参考にさせて頂きます。

いろいろとありがとうございました!
また何かあったらその時はまたお世話に…(orz

272tickle★:2006/05/21(日) 03:05:24 HOST:FLA1Adr242.tky.mesh.ad.jp
>>271
ソースはソース配布者によって
変数の定義方法も違いますし、やり方も多少違う部分ありますが
やることは同じなんですよね。

製作頑張ってください(・∀・)

273T/R ◆FErv3aPHjk:2006/06/15(木) 00:29:09 HOST:u062172.ppp.asahi-net.or.jp
MusicSelectの仕組みをちょっと簡易化して自分で作ってます。
デザインとかはしょうがないんですが、システムで不安な点があります。

ボタンを押すと数字が変わる仕組みは何とか自力で出来ました^^
でも、曲名をかえるとこで躓きました。。。

例えば、曲名などが入っている"option.txt"を読み込み、
それぞれの曲名の変数を、name1,name2・・・・などのようにします。
そして、数字をかえるボタン、例えば増やすやつなら、
このように設定してみました↓

on (release) {
if (_root.musicnum != _root.musicmax) {
_root.musicnum++;
} else {
_root.musicnum = 1;
}
_root.mname = "_root.name"+_root.musixnum;
_root.mname = _root.musicname;
}

分からない方法は、_root.name という文字に_root.musicnum(今の数字)を足して、
変数にできないか、ということです。

tickleさんのを拝借しますと、
_root.musicT =_root.musicName[_root.musicNum][0];

括弧を2つ使うとどうなるのかが全く分かりませんorz
もし_root.musicNumが3なら、
_root.musicName[3][0] ってなりますよね?
その先がさっぱりです。

MusicSelectの問題は実はこれだけだったり。
これがわかったらMusicSelectを取り入れるつもりです。
方法教えてくださいm(____)m

274tickle★:2006/06/15(木) 00:52:43 HOST:FLA1Ade234.tky.mesh.ad.jp
>>273
"option.txt"の仕様ですが、
このようにすると案外すっきりすると思います。

&name1=曲名1&
&artistName1=作曲者名1&
・・・
つまり、行の開始と行の終わりに"&"を入れます。
これで、変な[0]を入れる(括弧を2重に使う)必要がなくなります。

ボタン部分をまとめるとこんな感じに。
on (release) {
if (_root.musicnum != _root.musicmax) {
_root.musicnum++;
} else {
_root.musicnum = 1;
}
_root.mname = _root["name"+_root.musicnum];
// 曲名表示
}

上にある_root["name"+_root.musicnum];
についてですが、これは
_root.musicnumが1なら "_root.name1" に、
_root.musicnumが2なら "_root.name2" に、
_root.musicnumが10なら "_root.name10" になります。
要するに、nameの横の数字が
_root.musicnumによって変わっていくわけです。
(変数名がどんどん変わっていく感じ)

この書き方は「配列アクセス演算子」と言って、
Dan★Oniソースの「MAKE矢印」を見てみれば
いろいろなところに使われているものです。
ややこしいかもしれませんが、使えれば便利なものだったり。

Music Select搭載頑張ってください b

275T/R ◆FErv3aPHjk:2006/06/15(木) 16:04:05 HOST:u062172.ppp.asahi-net.or.jp
>>274
なるほど_root["name"+_root.musicnum]か!
_root.musicnumの数値を変数の一部に使うのは考えていました。
場所を表す_rootに[]を使ってやればいいんですね。。。

学校の授業中ずっと考えていましたw
これでswfを別個で読み込むのも出来るようになります^^

MusicSelectのページにtickleさんに協力してもらった、と入れておきますね b

276メイヂ ◆Xap8c5hLo.:2006/06/23(金) 23:45:23 HOST:p8209-ipad214souka.saitama.ocn.ne.jp
誠に僭越ながらも、質問させていただきます。

加速スレの作品についてですが、製作した作品を
一時的に、貴公に代理アップを頼んでの形をとって頂いても
よろしいでしょうか?

277tickle★:2006/06/24(土) 16:52:06 HOST:FLA1Aca143.tky.mesh.ad.jp
>>276
代理アップの件ですが、OKです。
必要なファイルをメール(殿堂入り用のものでOK)あるいは
メールフォームにて送ってもらえればUPしますよ。

278メイヂ ◆Xap8c5hLo.:2006/06/24(土) 23:53:03 HOST:p7231-ipad204souka.saitama.ocn.ne.jp
了解しました。
それではいつか製作の機会がありましたら宜しくお願いいたします。

実は、作品UPのやり方がよく判らなくて今勉強中でございます。。
はい。

279青空急行 ◆AOQQ3Qvxtw:2006/06/25(日) 12:38:41 HOST:da2855d1.catv296.ne.jp
ちょっとバグ?かもしれない質問。

今だんおに公開したんですけど3分くらいのところで曲が切れました。
もしかしたら読み込みが足らない可能性があるかもしれませんが、どうなのでしょうか?
実を言うと7keyかつparaflaで音楽ファイルを製作した場合はローダーがなくそのままプレイ画面に
いっているみたいです。5keyではロードしているのですが。。。

因みに、そのだんおには一旦公開停止中orz

2806th ◆sixth555HM:2006/06/25(日) 14:12:37 HOST:nthygo104153.hygo.nt.ftth.ppp.infoweb.ne.jp
7key通常ソースの中身が有りませんでした

281tickle★:2006/06/25(日) 14:58:43 HOST:FLA1Aca143.tky.mesh.ad.jp
>>279
完全にローディングスルーしてたらしいです(汗
ローディングつけてUPしてみましたのでそちらを使ってください。
ただ、タイミングがやや違っているかもしれませんorz
(ローディングがジャミジャミなのは仕様です(ォィ

>>280
バージョンを変えたので多分DLできると思います。
昨日はUPするとき不安定だったからそれでファイルが壊れた可能性が;

282青空急行 ◆AOQQ3Qvxtw:2006/06/25(日) 17:16:12 HOST:da2855d1.catv296.ne.jp
>>281
修正したら最後まで行きました。ありがとうございます。
タイミングはある程度修正しましたが、まだずれてるかもorz

ジャミジャミ(=点滅)は仕様らしいので、下に警告文入れておきました。
http://aoq1125-7.hp.infoseek.co.jp/7key/select-nf/index.htm

283tickle★:2006/06/28(水) 00:11:05 HOST:FLA1Aca143.tky.mesh.ad.jp
>>282
でもジャミジャミはいずれは直さないとマズイですね(・∀・;
多分ParaFla Musicソースの問題だとは思いますが。。

284メイヂ ◆Xap8c5hLo.:2006/07/09(日) 23:37:51 HOST:p1083-ipad39souka.saitama.ocn.ne.jp
ストップについて質問です。
今現在譜面を作成中で、途中にストップをつけていまして。
ストップの後に流れる矢印が、先行的に出てきてしまい、本来置いた位置から
早めに出てきてしまう現象がおきています。

使用しているソースは貴公の7Key Music select(Ver.0.93)です。
エディターも貴公の最新のものを用いております。
どの様な事が原因と考えられましょうか。

285Free Walker:2006/07/10(月) 23:10:12 HOST:p2044-ipbfp703osakakita.osaka.ocn.ne.jp
>>284
エディターの右上にあるストップ計算のボックスが0になっていないのが原因かと思います
違っていたらすいません

286tickle★:2006/07/11(火) 23:10:07 HOST:FLA1Aca143.tky.mesh.ad.jp
>>285
ヘルプThxです(・∀・)

>>284
>>285さんの言うように、
右上にある「ストップ計算」の数字が「0」でなく
「1」になっているのが原因ではないかと思います。

この「0」や「1」というのは、
「0」・・・このサイトのソースの仕様
「1」・・・ParaFlaソースの仕様
で異なっていまして、そのためこのようにしています。

注意書きにも書いてあるには書いてありますが
わかりにくいかもしれません・・・;
次回以降バージョンアップする際に
そのあたりも考慮するようにしますね。

287メイヂ ◆Xap8c5hLo.:2006/07/12(水) 00:46:42 HOST:p6109-ipad204souka.saitama.ocn.ne.jp
>>285
ありがとうございます。まさにソコが原因でした。

>>286
エディターのhow toを読んでいませんでして。
すみませんでしたm(_ _)m

288front ◆JYeVAaYMoE:2006/07/12(水) 22:52:41 HOST:softbank219173072038.bbtec.net
エディタの事に関してですが、ストップを使った後、すぐに速度変化はできないという仕様でしょうか。
5keyのエディタで、ストップ後の付近の速度変化の数値が合っていなかったので・・・

289front ◆JYeVAaYMoE:2006/07/12(水) 22:53:39 HOST:softbank219173072038.bbtec.net
連レスすみません。
>288の「速度変化の数値」はフレーム数のことです。

290tickle★:2006/07/12(水) 23:07:13 HOST:FLA1Aca143.tky.mesh.ad.jp
>>288-289
速度変化はできますよ。
ただ、ストップにより矢印の出現フレームを早める必要があるので、
その関係で早くなっています。

使っているソースは 5key「ParaFlaソース」でしょうか?
ParaFlaソースであればその方法で問題ありませんが・・・

291front ◆JYeVAaYMoE:2006/07/13(木) 22:56:16 HOST:softbank219173072038.bbtec.net
症状を言っていなかった;;
swfで見ると速度変化する場所は大体合っているような気がするのですが、その直後〜100フレーム辺りの譜面のタイミングがかなりずれているんです。
それを過ぎると正常に戻りますが・・・

paraflaソースです。

292tickle★:2006/07/13(木) 23:24:54 HOST:FLA1Aca143.tky.mesh.ad.jp
>>291
思えば、5keyのParaFlaソースは途中変速式だったことを
すっかり忘れていましたorz

計算の方法が違うので、
ストップの直後に速度変化ができないのは仕様だと思います。

dotさん配布のFlashソースについている
swfファイルを使えば、速度変化は(ストップも含めて)自在にできますけどね。
(ちなみに、Flash MX等がなくても作れます)

293front ◆JYeVAaYMoE:2006/07/14(金) 21:17:50 HOST:softbank219173072038.bbtec.net
>>292
そうですか・・・それではそちらのswfの方も勉強しますか;;
色々と助言ありがとうございます。

294Joker ◆fixyYgyrkU:2006/08/10(木) 22:38:29 HOST:actkyo077010.adsl.ppp.infoweb.ne.jp
なんかageてみる(ぇ

tanishiさんの7keyソースの事で質問します。
作者がV.L.S.I.を作った時の物なので、
1.5倍の強制倍速がついているんですが、
外し方分かりますか?(ぁ
もし分かったらぜひ教えてください。
ソースはもうだいぶ改造してるので
できれば直し方だけ教えてもらって、
修正済みのソースを使う事は
なるべくしたくないんですが…

295tickle★:2006/08/10(木) 23:19:31 HOST:FLA1Aav086.tky.mesh.ad.jp
>>294
V.L.S.Iというとver1.3βのソースでしょうか。
多分 ◎難易度設定 の初期設定がおかしいせいだと思います。

◎難易度設定 →「スプライトを編集」を押して、
右部分の上から4行目の
    1 アクション スクリプト []
をダブルクリック→ スプライトを編集 を押して、

そのスプライトの中身を
_root.diffi="Normal";
_root.diffin="";
_root.segspe=20;
_root.set_spi=2;
_root.set_spy=370;
_root.speed=1;
に書き換えてください。
多分、デフォルトならこれで1倍速標準になります。
この部分は難易度の初期倍速を決める部分なので、
他を変えてもここを弄らないと変わらないようになっているようです。

296Joker ◆fixyYgyrkU:2006/08/11(金) 12:16:55 HOST:actkyo077010.adsl.ppp.infoweb.ne.jp
>>295
直りました!
迅速な対応ありがとうございます。

この程度のレベルでDOCF出たんだからな…

297tickle★:2006/08/11(金) 18:10:06 HOST:FLA1Aav086.tky.mesh.ad.jp
一応ParaFlaソース関連のスレ貼っておきますね。
( Viviparaの掲示板より )
http://jbbs.livedoor.jp/bbs/read.cgi/game/26166/1130245349/

同じくViviparaより「難易度設定」
http://hamoblo.com/tanishi/index.php?type=1&amp;entryId=13

ParaFlaソースに関しては、
こちらも参考にしてみてください。

298蔦葉 ◆8U6yuRfxeU:2006/08/24(木) 02:03:19 HOST:softbank220001050098.bbtec.net
お初です。
>>297
うぉ!掲示板のほうはまだ残ってたんですか!!
てっきりサイトがアクセスできなかったので、なくなってしまったのかと・・・
tickleさん!ありがとうございます^^

299tickle ◆qU7Key/52M:2006/08/24(木) 21:43:55 HOST:FLA1Aav086.tky.mesh.ad.jp
>>298
あくまで参考までに、、
掲示板は偶然見つけました。

300Free Walker:2006/10/09(月) 20:00:06 HOST:106.107.111.219.dy.bbexcite.jp
一日中ソースファイルと格闘していたのですが、
ちょっと自力では無理っぽいので質問させて頂きます。

実は、7keyソースを使って擬似5keyを再現しようと思っています。
厳密には矢印4つとおにぎり3つを用意して、各おにぎりによって
エファクトを変えたり点数配分を変えたりするのが最終目標です。

それで、おにぎり三種には全てスペースキーを割り当てたいのですが、
現在の7keyソースではそれが出来ないようで困っています。

右3つのキー割り当てを、全て同じものにするにはどうすれば良いでしょうか?
宜しくお願いいたします。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板