スポンサーサイト-------- -- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。 新しい記事を書く事で広告が消せます。
スポンサー広告
| ![]() |
アス比2009-11-04 Wed 07:56
さて前回は画面下のポジションから配置する方法を考えてみましたが
今回は全画面の画像をどう配置するか考えてみます。 ワイドのテレビで4:3の番組を見るのと同じで 画面の左右を切って画像を全て映すか 画像の上下を切って画面全体に映すか 画面の左右を切った場合画像は0.75倍に縮小され 画像の上下を切った場合上下30ずつ見えなくなります。 ![]() ↑これを ![]() ↑画面の左右を切る ![]() ↑画像の上下を切る ケースバイケースですが文字などの全体が見えないとおかしい場合以外は 画像の上下を切った方が良いでしょうね。 記述の一例を見てみましょう。 [State -2, エフェクト表示] type = Explod triggerall = NumExplod(8200) = 0 trigger1 = 1 id =8200 anim = 8200 scale= 1,1 postype = left pos = 0,0 ↑特に何もやってない状態です [State -2, エフェクト表示] type = Explod triggerall = NumExplod(8200) = 0 trigger1 = 1 id =8200 anim = 8200 scale = ifelse(floor(GameWidth/4 = GameHeight/3),1,.75),ifelse(floor(GameWidth/4 = GameHeight/3),1,.75) postype = left pos = floor(0 * (ifelse((GameWidth/4 = GameHeight/3),1,.75)) + (ifelse((GameWidth/4 = GameHeight/3),0,GameWidth/8))),floor(0 * (ifelse((GameWidth/4 = GameHeight/3),1,.75))) ↑画面の左右を切って中央に画像を縮小して表示。 画面比4:3かどうかで分岐。 scaleは1の場合0.75で、0.5の場合は0.375 posは0,0の場合は必要ないんですが数値が入るとやはり0.75倍し x軸にGameWidthの1/8を足します。 [State -2, エフェクト表示] type = Explod triggerall = NumExplod(8200) = 0 trigger1 = 1 id =8200 anim = 8200 scale= 1,1 postype = left pos = 0,0 - floor(ifelse((GameWidth/4 = GameHeight/3),0,30)) ↑画像の上下を切る場合。 こっちは簡単でy軸から30を引けば中心にもっていけるはず。 間違えてるかもしれないので話半分で聞いてね(><) 追記 ちょっと訂正 スポンサーサイト
|
アス比2009-11-02 Mon 22:13
|
オリコン補正2009-10-31 Sat 15:39
WINDのオリコン時のダメージ補正を見てみることに。
基本的にHitdefのダメージの項目はこんなふうになっているようです。 damage = ceil(Ifelse(FVar(16)>=8,FVar(17),40*fvar(8)*fvar(9)*fvar(10)*(0.72-fvar(1)))),ceil(10*fvar(9)) fvar(8)*fvar(9)*fvar(10)の辺りはカウンターやMAX発動時の補正です。 今回は関係ないですね。 ceil(Ifelse(FVar(16)>=8,FVar(17),~と(0.72-fvar(1))の部分がオリコン補正で Fvar(16)はヒット数、Fvar(17)はオリコン時の最低ダメージ。 0.72-Fvar(1)の部分が実際の補正で、 Fvar(1)には基本-0.28が入っていて通常はダメージ値*(0.72+0.28) つまり*1ということらしいです。 8ヒット以降は40*~を無視してFvar(17)のダメージになるということ。 これを踏まえて-2のステコンを見てみましょう。 Var(18)はオリコン発動フラグ兼、オリコンの残り時間です。 ;オリコン用コンボ補正、1ヒット毎に8%ダウン(初段は7割補正) [State -2,オリコン補正] Type = VarAdd triggerall = var(18) triggerall = FVar(1) < 0.64 triggerall = P2Movetype = H trigger1 = MoveHit = 1 trigger2 = ProjHit = 1 FV = 1 value = 0.08 ignorehitpause = 1 ↑もう眠くなってきちゃった・・・ オリコン時攻撃が当たったらFvar(1)に0.08加えてます 0.64より大きくはなりません [State -2,オリコン補正8発まで当てたら一定のダメージ] Type = VarAdd triggerall = var(18) trigger1 = enemynear,time = 0 trigger1 = movehit = 1 || projhit = 1 trigger1 = enemynear,stateno = [5000,5150] FV = 16 value = 1 ignorehitpause = 1 ↑敵の地上やられ継続中に攻撃がヒットした回数を覚えておきます [State -2,オリコン8発以降のダメージ] Type = VarSet trigger1 = time >= 0 trigger1 = !fvar(17) FV = 17 value = 10 ignorehitpause = 1 ↑常時最低ダメージを10に設定しています ;リセット [State -2,オリコン補正8発まで当てたら一定のダメージリセット] Type = VarSet trigger1 = enemynear,stateno != [5000,5150] trigger1 = fvar(16) FV = 16 value = 0 ignorehitpause = 1 ↑相手の地上やられが解けると覚えていたヒット数をリセットします ;リセットFV [State -2,オリコン補正リセット] Type = VarSet triggerall = p2movetype != H triggerall = Var(18) trigger1 = p2stateno != [5000,5150] trigger1 = p2stateno != [2030,2031] trigger1 = p2stateno != [50100,50103] trigger1 = p2stateno != [5000,5150] trigger1 = p2stateno != [3030,3036] trigger1 = p2stateno != [3130,3134] trigger1 = p2stateno != 3284 trigger1 = p2stateno != [3230,3234] trigger1 = p2stateno != [4230,4234] trigger1 = p2stateno != [7611,7613] FV = 1 value = 0 ↑相手がやられ状態ではない時に補正を0にします 上に書いたようにダメージ補正を0.72+0.28から0.72+0にするということですね ;リセットFV [State -2,オリコン補正リセット] Type = VarSet triggerall = fvar(1) != -0.28 trigger1 = Var(18) = 0 FV = 1 value = -0.28 ↑オリコン状態ではないときに補正を基準値にリセットします ここでの問題は8HIT以上の最低ダメージが補正無しの10固定だと 80ヒットするような状況ではダメージが800になってしまうということですね。 まいったね(o^∇^o)ノ 調べたけど補正に関しては良く分かんなかったから 最低値の部分を変更 [State -2,オリコン8発以降のダメージ] Type = VarSet trigger1 = fvar(16) = 0 FV = 17 value = 10 ignorehitpause = 1 [State -2,オリコン8発以降のダメージ] Type = VarSet trigger1 = fvar(17) > 1 trigger1 = fvar(16) >= 8 FV = 17 value = (10-floor(fvar(16)/5)) ignorehitpause = 1 ↑8ヒット以降、10-(ヒット数/5) 5ヒットごとに9,8,7とダメージが落ちる仕様に ![]() それでも結構でかいけど前よりマシね。 |
減色について2009-06-10 Wed 19:09
正直がっかりだ。
昨日のイントロですが24ビットにしたのにあんまり綺麗な感じがしません。 ルガールの登場・自爆も作ってみたけど ガビガビで見るに耐えませんでした。 おそらく減色の精度が評判良くないiviewでやったからなんでしょう。 どのくらい差があるのか今まであまり気にしてなかったのですが、 この際検証してみたいとおもいます。 ![]() ↑iview ![]() ↑VIX ![]() ↑減色教室 ![]() ↑padie ![]() ↑xPadie ![]() ↑yukari どうやら差異が明らかに出たと言ってよさそうです・・・。 上二つはそもそも減色のツールというわけでもないので 仕方ない部分もあるかと思いますが、 下三つの精度は満足なもののようですね。 ただし。 一括で減色ができることも重要なファクターです。 yukariにはどうもそれが出来なさそうで、 さすがに数百枚を一枚ずつ減色していくのは骨が折れます・・・。 それが可能で減色精度が高いのはpadieということに落ち着きそうですね。 追記 どうやらPadieには元の画像が256色以下のものを含めると エラーで落ちるという不具合があるようですね。 VIXはパレットの0番に黒が入らないっぽいし・・・。 うまいこといかないもんかなぁ |
Explodのtrans2009-04-03 Fri 20:28
Explodにも透過させるパラメーターがあるようです。
私は今までairでやってましたが この際やり方を覚えてしまおうというのが今回。 WINDにも以前から使われていたんですが 説明してるところが意外に無くて よく分からない部分でした。 ちょっとこ丸氏のKFMのテンプレにやり方が書いてあったので 実際に画面で見てみることに。 ![]() 画像は左上段からtrans = None,Add, 下段でAdd1,Sub, ここまでは数値での度合いはなし。 ![]() これは trans = AddAlpha alpha = 256,256 のalpha = 256,256の値を 256,256 256,0 0,256 0,0 で変化させたものです。 これは固定して使うことはなさそうですね。 ![]() ということで徐々に透過させるステコンを試作。 [State 徐々に透過] type = ModifyExplod trigger1 = time >= 0 trigger1 = NumExplod(19017) = 1 ID = 19017 trans = AddAlpha alpha = ifelse((time < 255/2),255-time*2,0),ifelse((time < 255/2),time*2,255) ステート中のtime=0からの前提で 違うならalphaのところのtimeから指定した時間を引く必要がありそうです。 ちなみに*2にしてるのは255フレームかけての透過だと遅いからです。 |