ページ 1 / 1
画面の色調反転
Posted: 2017年7月18日(火) 19:24
by hogehoge
イベントコマンド、画面の色調補正のように色調を反転、いわゆるネガポジ反転を行いたいのですが、どうやらデフォルトの機能では出来ないようで、行き詰っております。
色調反転をする方法をお教えいただけないでしょうか?
Re: 画面の色調反転
Posted: 2017年7月18日(火) 20:59
by まっつUP
hogehoge様
お世話になります。
以下をイベントコマンド「スクリプト」で実行してください。
画面色調のrgb+グレー全て反転します。
var tone = $gameScreen.tone().clone();
for(var i = 0; i < tone.length; i++){
tone = -tone;
}
tone[3] += 255;
var duration = 120;
$gameScreen.startTint(tone, duration);
//ウェイトが要らない時は以下の行は消してください。
this.wait(duration);
Re: 画面の色調反転
Posted: 2017年7月19日(水) 00:56
by hogehoge
まっつUP様
返信ありがとうございます!
まさかスクリプトまで組んでいただけるとは思いませんでした!
組んでいただいている身でありながら非常におこがましいのですが、考えていたものと少々異なっていたので報告させていただきます。
今設定されている色調をそのまま反転させるのではなく、白い部分を黒くするといった、画面そのもの(ウィンドウを除いた)を反転させる方式を目指していました。(下図)
私の説明不足です。大変申し訳ありませんでした…
ですがいただいたスクリプトはとても使いやすかったです!これとはまた違った演出をする際に活用させていただきます!本当にありがとうございます!
Re: 画面の色調反転
Posted: 2017年7月19日(水) 22:00
by 奏ねこま
イベントコマンド「スクリプト」の例をば。
なお、これらの効果は一時的なもので、メニューを開いたり、戦闘になったりすると解除されます。
効果を永続させたいとなると、専用のプラグインを作る必要があります。
◆画面のすべての色を反転する(会話ウインドウとかも反転する)
コード: 全て選択
var mat = new PIXI.filters.ColorMatrixFilter();
mat.matrix = [
-1,0,0,0,1,
0,-1,0,0,1,
0,0,-1,0,1,
0,0,0,1,0
];
SceneManager._scene.filters = [mat];
◆反転の解除
コード: 全て選択
SceneManager._scene.filters = null;
◆会話ウインドウ以外を反転する
コード: 全て選択
var mat = new PIXI.filters.ColorMatrixFilter();
mat.matrix = [
-1,0,0,0,1,
0,-1,0,0,1,
0,0,-1,0,1,
0,0,0,1,0
];
SceneManager._scene._spriteset.filters = [mat];
◆反転の解除
コード: 全て選択
SceneManager._scene._spriteset.filters = null;
Re: 画面の色調反転
Posted: 2017年7月20日(木) 13:10
by hogehoge
奏ねこま様
返信ありがとうございます!思い通りに動かす事ができました!
スクリプトの方は大切に活用させていただきます!