foobar2000のwsh panel mod(JScript)のサンプルコード:Reboot 1
カテゴリ:パソコン関連 ■2016/04/10
« なんとなくnyan-catシークバー…いまさら? | | foobar2000のwsh panel mod(JScript)のサンプルコード:Reboot 2 - Seek bar »
« なんとなくnyan-catシークバー…いまさら? | | foobar2000のwsh panel mod(JScript)のサンプルコード:Reboot 2 - Seek bar »
背景の色を変える
JScriptのサンプルコード&解説コーナー、がっつり仕切り直します。
*reboot後の想定するファイル構成は以下のような配置になります。
foobar2000のポータブルインストールフォルダ
┗ samplesフォルダ
┣インポートするJScriptのテキストファイル
┗imgフォルダ(使用する画像ファイル全般)
*今回のサンプル
samples_rb_1.zip
まず、WSH Panel ModまたはJScript Panelを組み込んだfoobar2000を用意してください。
・参考:foobar2000でJScriptのテスト環境を作ってみよう。 {+ foobar2000::カスタマイズ}
・参考:WSH Panel Mod(JScript Panel) の基本事項 {+ foobar2000::カスタマイズ}
・その他:左側のタグ:foobar2000に関連した何かがあるかも。
パネルのConfigureウィンドウから、Background_color.txtをインポートしてください。
このパネルには背景色その他を設定する項目はありません。
なので、背景色を変える必要があれば、「最初にパネル全域を塗りつぶしておく」必要があります。
コード
// ==PREPROCESSOR==
// @name "Background Sample"
// @author "Junya Renno"
// @feature "dragdrop"
// @import "%fb2k_component_path%docs\helpers.txt"
// ==/PREPROCESSOR==
fb.trace("Tester Start.");
var ww;
var wh;
var background_color = RGB(50,50,50);
function test(){
// この中に試したいコードを書いてください。マウスクリックで実行されます。
// マウス中ボタンクリックでこのウィンドウが出ます。
}
function on_paint(gr){
// 描画関係をテストするときはこちらに書いてみよう。
fb.trace("on_paint");
gr.FillSolidRect(0,0,ww,wh,background_color);
}
function on_mouse_mbtn_down(x, y, mask){
window.ShowConfigure();
}
function on_mouse_lbtn_down(x, y, mask){
test();
}
function on_size(){
fb.trace("on_size");
ww = window.Width;
wh = window.Height;
}
解説
// @import "%fb2k_component_path%docs\helpers.txt"
RGB関数を使うためにhelpers.txtを読み込んでいます。
on_size(){}
はパネルのサイズが変更になった時に呼ばれる関数です。
ここでパネルの幅と高さを記憶しています。
fb.trace()はConsoleに情報を出力するメソッドです。特に必要ではありませんが、流れを追うために入れてあります。
on_paint(gr){}
はパネルを描画する重要な関数です。
変数wwとwhを利用し、塗りつぶします。
fb.trace()はConsoleに…以下同文。
gr.FillSolidRectは長方形の中を塗りつぶすメソッドです。
*on_sizeとon_paintの挙動
このスクリプトを起動するとこんな画面になります。
Consoleウィンドウは
ちょっとパネルのサイズを変更してみると
どわっと繰り返し実行されるのがわかります。
パネルのサイズが変わる→on_size()が自動的に呼び出されて、パネルのサイズを測り直す→on_paint()で描画、という流れです。
変数background_colorの値を変えて試してみてください。
*その他の描画メソッド
Drawing.txtをインポートしてみてください。
こんなのもあるよー、ということで、終わります。
<< トップページに戻る
カテゴリ:パソコン関連
« なんとなくnyan-catシークバー…いまさら? | | foobar2000のwsh panel mod(JScript)のサンプルコード:Reboot 2 - Seek bar »
« なんとなくnyan-catシークバー…いまさら? | | foobar2000のwsh panel mod(JScript)のサンプルコード:Reboot 2 - Seek bar »
コメントは日本語でお願いします。(URLは入力禁止:Do not URL writing.) :System message: コメントを受けつけています。