fuの戯言日記
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
はう~~orz
自分が積極的に移植を進めている隕石系エンジンなのですが


久しぶりに見て見たらロードにて結構な問題がありました


その一つがユーザ任意のズーム処理
これは隕石エンジンの特徴とも言える機能です


詳細はユーザがクリックした所を中心に拡大するという物です


これは自分の方でも実装していますが
問題はテキストのルーチンで処理しています
ということはその処理はユーザが行った直後にはセーブはされません
NS.ONSの仕様の問題で次回のユーザ処理にズームがロードに反映されます
つまりズーム処理を行った時セーブスクショの画像とロードした時の画像が違うということです
不具合として報告して頂いたので
どうにかしてやろうと思いましたがやはり無理そうですね・・・・
撃沈しましたorz

該当するのは

・ちょこっとばんぱいあ
・ゆめくみ
・恋Q

の3作です

やはりONSの仕様が問題かも・・・・・・
自動でsaveoffは厳しいですね・・


もう一つの問題としてロードにテキストスピードの
設定が消えていると言う問題・・・・・・
これは正直盲点でした
まさか設定が有効にならないとは思わなくて・・・・
ということでこちらは修正


最後の問題はシステムサウンドのループ問題です

久々に試してみて驚きましたが
ロードにシステムサウンドのループが効いていませんでしたorz
こちらは非常に面倒
というのもONSのdwave命令をチャンネルを変更して
回しているつまりミキシングです

dwaveloop 1,""
dwaveloop 2,""
↑ミキシング再生

チャンネルは変数で格納して回しているので固定ではありません
それは全然かまいませんが
止める命令は通常の再生と一緒なのが困りますね

ロード判定がとても面倒なのです・・・
かなり参った・・・・・
ワムも同じ事をやっています
と言うより最近のゲームはミキシングロード当たり前ですねorz

くまったなぁ・・・・
ちょっとこちらは時間かかかりそう・・・
直ればいいけど・・



配布を希望してる方申し訳ありませんが
もう少し待っていただけると幸いです

というかONSよ~サウンドループはセーブされてください
うるうる(泣き)


追記

サウンドループ解決!!
スクリプト公開



;mode800,value500
*define
loadgosub *load_lb
defsub SE_P
defsub SE_S
mov %0,113
numalias SE_loop,%0:inc %0
numalias SE_loop1,%0:inc %0
numalias SE_loop2,%0:inc %0
numalias SE_loop3,%0:inc %0
numalias SE_loop4,%0:inc %0
numalias System_sound,%0:inc %0
numalias System_sound1,%0:inc %0
numalias System_sound2,%0:inc %0
numalias System_sound3,%0:inc %0
numalias System_sound4,%0:inc %0
numalias sesp,%0:inc %0

game
*load_lb
if %SE_loop == 1 SE_P 0,$System_sound,0,1
if %SE_loop1 == 1 SE_P 1,$System_sound1,0,1
if %SE_loop2 == 1 SE_P 2,$System_sound2,0,1
if %SE_loop3 == 1 SE_P 3,$System_sound3,0,1
if %SE_loop4 == 1 SE_P 4,$System_sound4,0,1
return


*SE_P
getparam %1,$1,%2,%3
mov %2,%1+118:mov %4,%1+113
mov %%4,%3
mov $%2,$1
;配列変数を使用しチャンネル毎に文字変数を格納するこれ必須!!
;チャンネルは文字変数と等しくする
;そうするとチャンネル文字変数は下記の様になる

;1チャンネル $System_sound
;2チャンネル $System_sound1
;3チャンネル $System_sound2
;4チャンネル $System_sound3
;5チャンネル $System_sound4
sevol %sesp
if %3=1 :jumpf
dwave %1+1,"se/"+$%2+".ogg"
return
~

dwaveloop %1+1,"se/"+$%2+".ogg"
return

*SE_S
getparam %1,%2
;%2はフェードで停止するかの判定
;%1はとめるチャンネル変数
;ミキシングを有効にする場合チャンネル毎に配列変数に格納
;それをロードの判定で使用する
mov %5,113+%1
mov %%5,0
dwavestop %1+1
return


*start
erasetextwindow 0
setwindow3 20,444,26,3,25,25,3,12,5,1,1,#FFFFFF,0,0,799,599

SE_P 1,"sel10302",0,1
SE_P 2,"sel103023",0,1
Wait 1000

試してみると\

ロードにてミキシングが有効になります\
SE_S 1,0
SE_S 2,0

他のゲームでも使えるので試してみてね\
これでワムサウンドも怖くない!!\

コメント
コメント
コメントの投稿
URL:
本文:
パスワード:
非公開コメント: 管理者にだけ表示を許可する
 
トラックバック
トラックバック URL
http://futawagoto.blog92.fc2.com/tb.php/360-7b496ea6
この記事にトラックバックする(FC2ブログユーザー)
トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。