PIX GAME STUDIOは最大128枚のレイヤを使用することが出来ます。
こちらでは、レイヤに関する命令を纏めています。
レイヤの合成モード
定義 | 説明 | パラメータ |
---|---|---|
LAYERMODE_NORMAL | 通常 | 0 |
LAYERMODE_ADD | 加算 | 1 |
LAYERMODE_SUB | 減算 | 2 |
LAYERMODE_MUL | 乗算 | 3 |
LAYERMODE_INV | 反転 | |
LAYERMODE_SCREEN | スクリーン | 4 |
LAYERMODE_OVERLAY | オーバーレイ | 5 |
LAYERMODE_DODGE | 覆い焼き | 6 |
LAYERMODE_BURN | 焼き込み | 7 |
LAYERMODE_DARKEN | 比較(暗) | 8 |
LAYERMODE_LIGHTEN | 比較(明) | 9 |
LAYERMODE_SOFTLIGHT | ソフトライト | 10 |
LAYERMODE_HARDLIGHT | ハードライト | |
LAYERMODE_EXCLUSION | 除外 | |
LAYERMODE_NORMAL_ALPHA | α付き通常 | |
LAYERMODE_ADD_ALPHA | α付き加算 | |
LAYERMODE_MUL_ALPHA | α付き乗算 |
↑まだ工事中です
レイヤマスク
レイヤにマスク(表示されない部分)を制御する命令群です。
layer.mask.load(レイヤ番号,”画像ファイル名”[,X座標,Y座標])
レイヤにマスク画像を読み込みます。
パラメータ | 初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | 読み込むレイヤ番号を指定します |
画像ファイル名 | 無し | ファイル名を指定します |
X座標 | 0 | 表示したい位置の横座標です(省略可能) |
Y座標 | 0 | 表示したい位置の縦座標です(省略可能) |
対応フォーマット
[[対応フォーマット]] の項目をご覧下さい。// レイヤ番号5番にマスクを適用する layerload 5,"frame\FRM_0522.png",-300-200,180 layer.mask.load(5,"rule\concentrate4.png",0,0)layer.mask.position(レイヤ番号,X座標,Y座標)
マスク画像の位置を設定します。
パラメータ | 初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | レイヤ番号を指定します |
X座標 | 0 | 表示したい位置の横座標です |
Y座標 | 0 | 表示したい位置の縦座標です |
layer.mask.load(5,"image\cutin_left_mask.png",0,0) layer.mask.position(5,100,100)layer.mask.position.move(レイヤ番号,移動時間,X座標,Y座標[,移動時間,X座標,Y座標,])
マスクの移動を行います
パラメータ | 初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | 移動の補完の方法を指定します。詳細は下の補完パラメータをご覧ください |
移動時間 | 無し | どれぐらいの時間をかけて移動するかを指定します。単位は1/60です。 |
X座標 | 無し | 最終的に移動したい横座標を指定します。 |
Y座標 | 無し | 最終的に移動したい縦座標を指定します。 |
補完タイプの指定はlayer.mask.position.move.typeにて指定します。
layer.mask.load(5,"image\cutin_left_mask.png",0,0) layer.mask.position(5,100,100) layer.mask.position.move(5,240,0,0,240,50,50) layer.mask.position.move.type(5,5)layer.mask.position.move.type(レイヤ番号,補間方法)
マスク移動の補間タイプを指定します
パラメータ | 初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | 移動の補完の方法を指定します。詳細は下の補完パラメータをご覧ください |
補完方法 | 減速移動(8) | 移動の補完の方法を指定します。詳細は下の補完パラメータをご覧ください |
補完方法
移動の際に様々な補完を適用することが出来ます。
補間方法(定義) | 補間方法(数値) | 名前 | 説明 |
---|---|---|---|
PASSTYPE_STEP | 0 | ステップ補間 | 瞬間的に移動します |
PASSTYPE_LINEAR | 1 | 線形補間 | 一定速で移動します |
PASSTYPE_NEWTON1 | 2 | ニュートン補間 | |
PASSTYPE_NEVILLE1 | 3 | ネヴィル曲線1 | ネヴィル曲線で補間します |
PASSTYPE_NEVILLE2 | 4 | ネヴィル曲線2 | ネヴィル曲線で補間します |
PASSTYPE_BEZIER1 | 5 | ベジェ補間1 | ベジェ曲線で補間します |
PASSTYPE_BEZIER2 | 6 | ベジェ補間2 | ベジェ曲線で補間します |
PASSTYPE_TCB | 7 | TCBスプライン補間 | スプライン曲線で補間します |
PASSTYPE_SUB | 8 | 減速補間 | 終点に行くに従って減速します |
PASSTYPE_ADD | 9 | 加速補間 | 加速しながら終点に向かいます |
定義を使用する場合は__define__.incをスクリプトより先にインクルードしてください。
layer.mask.color(レイヤ番号,マスクカラー)
マスクするカラーを設定します。
パラメータ
パラメータ | |初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | |
マスクカラー | MASK_COLOR_BLACK(0) |
マスクカラー
定義 | 数値 | 名前 | 説明 |
---|---|---|---|
MASK_COLOR_BLACK | 0 | 黒 | 黒部分をマスクする |
MASK_COLOR_WHITE | 1 | 白 | 白部分をマスクする |
定義を使用する場合は_define_.incをスクリプトより先にインクルードしてください。
layer.mask.color.background(レイヤ番号,マスクバックグラウンドカラー)
マスクのバックグラウンドカラーを設定します。
パラメータ
パラメータ | |初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | |
マスクカラー | MASK_COLOR_BLACK(0) |
マスクカラー定義
定義 | 数値 | 名前 | 説明 |
---|---|---|---|
MASK_COLOR_BLACK | 0 | 黒 | マスクのバックグラウンドを黒で塗りつぶす |
MASK_COLOR_WHITE | 1 | 白 | マスクのバックグラウンドを白で塗りつぶす |
マスクカラー定義を使用する場合は_define_.incをスクリプトより先にインクルードしてください。
layer.mask.release(レイヤ番号)
レイヤに読み込んだマスク画像を解放します。
またレイヤマスクはレイヤが解放されれば自動で解放されます。
パラメータ
パラメータ | 初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | レイヤ番号を指定します |
サンプル
// レイヤ番号5番のマスクを解放する layer.mask.release(5)読み込み/解放
- layer.load
- layer.load.3d
- layer.load.overlap
- layer.load.paste
layer.release(レイヤ番号[,レイヤ番号])
指定した番号のレイヤを解放します。
メモリ確保のため、使用しなくなったレイヤはできる限りこの命令で解放してください
// 0番のレイヤを解放する layer.release(0) // 10~20番のレイヤを解放する layer.release(10,20)layer.release.all()
すべてのレイヤを解放します。
// すべてのレイヤを解放する layer.release.all()設定
- layer.priority
フィルタ
layer.filter.color(レイヤ番号,R要素,G要素,B要素)
レイヤーにカラーフィルタをかけます
パラメータ
パラメータ | 初期値 | 範囲 | 説明 |
---|---|---|---|
レイヤ番号 | 無し | 0~127 | レイヤ番号を指定します |
R要素 | 100 | 0~100 | 赤の要素をパーセンテージで指定します。パーセンテージが下がるほど減衰します |
G要素 | 100 | 0~100 | 緑の要素をパーセンテージで指定します。パーセンテージが下がるほど減衰します |
B要素 | 100 | 0~100 | 青の要素をパーセンテージで指定します。パーセンテージが下がるほど減衰します |
サンプル
bg "BG\BG92_主人公自室_昼.png",-640,-230,200,200 layermove 0,48,-160,-230 layerload 3,"Chara\sena\L\sena.atlas",590,1013 layerskin 3,"shifuku" layeranimation 3,"ki" layeraddanimation 3,"normal" layer.filter.color(3,50,50,50) wait 100 layer.filter.color(3,100,75,50) wait 100 layer.filter.color(3,0,0,0) wait 100 layer.filter.color(3,100,100,100) wait 100[carousel source=”media: 1934,1935,1936,1937″ link=”image” height=”600″ items=”1″ title=”no”]layer.filter.motionblur(レイヤ番号,レベル)
レイヤにモーションブラーをかけます。
モーションブラー (motion blur) は、動いている対象をカメラで撮影した時に生じるぶれ、つまり被写体ぶれ(英語でblur)のことである
パラメータ
パラメータ | 初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | 読み込むレイヤ番号を指定します |
レベル | 0 | モーションブラーの強さを指定します。0~100の間で指定してください。100に近づくほど強くなります。0にした場合はフィルタは除去されます |
サンプル
bg "BG\BG92_主人公自室_昼.png",-640,-230,200,200 layerload 3,"Chara\mara\SS\制服_喜.png",1007,292,70,70 layer.filter.motionblur(3,98) layermove 3,120,0,0 wait 120 layermove 3,120,600,600 wait 120 layer.filter.motionblur(3,90) layermove 3,120,0,0 wait 120 layermove 3,120,600,600 wait 120 layer.filter.motionblur(3,0) layermove 3,120,0,0 wait 120 layermove 3,120,600,600 wait 120スクリーンショット
[carousel source=”media: 1942,1943,1944″ link=”image” height=”600″ items=”1″ title=”no”]layer.filter.gauss(レイヤ番号,レベル)
レイヤにガウスフィルタをかけます。
画像処理において、ガウシアンぼかし (ガウスぼかし、ガウシアンブラー、ガウシアンフィルター、ガウスフィルター、Gaussian Blur)とは、ガウス関数をもちいて画像をぼかす処理である。デジタルカメラの撮像画像などからノイズを除去したり、アンシャープマスク処理、エッジ抽出の前処理などに応用できる。
https://ja.wikipedia.org/wiki/%E3%82%AC%E3%82%A6%E3%82%B7%E3%82%A2%E3%83%B3%E3%81%BC%E3%81%8B%E3%81%97パラメータ
パラメータ | 初期値 | 説明 |
---|---|---|
../レイヤ番号 | 無し | 読み込むレイヤ番号を指定します |
レベル | 0 | ガウスの強さを指定します。0~300ぐらいの間で指定してください。数値が大きいほどガウスのかかりぐらいは強くなります。0にした場合はガウスフィルタは除去されます |
サンプル
bg "BG\BG92_主人公自室_昼.png",-640,-230,200,200 layermove 0,48,-160,-230 layerload 3,"Chara\sena\L\sena.atlas",590,1013 layerskin 3,"shifuku" layeranimation 3,"ki" layeraddanimation 3,"normal" layer.filter.gauss(3,50) wait 100 layer.filter.gauss(3,100) wait 100 layer.filter.gauss(3,150) wait 100 layer.filter.gauss(3,200) wait 100 layer.filter.gauss(3,250) wait 100 layer.filter.gauss(3,0)[carousel source=”media: 1948,1949,1950,1951″ link=”image” height=”600″ items=”1″ title=”no”]layer.filter.monotone(レイヤ番号,R要素,G要素,B要素)
レイヤーにモノトーンフィルタをかけます
パラメータ
パラメータ | 初期値 | 範囲 | 説明 |
---|---|---|---|
レイヤ番号 | 無し | 0~127 | レイヤ番号を指定します |
R要素 | 0 | -100~100 | 赤の要素をパーセンテージで指定します。パーセンテージが下がるほど減衰します |
G要素 | 0 | -100~100 | 緑の要素をパーセンテージで指定します。パーセンテージが下がるほど減衰します |
B要素 | 0 | -100~100 | 青の要素をパーセンテージで指定します。パーセンテージが下がるほど減衰します |
サンプル
layer.filter.monotone(0,50,50,50)位置
- layer.position
- layer.position.move
- layer.position.move.type
- layer.position.shake
スケール
- layer.scale
- layer.scale.move
- layer.scale.move.type
回転
- layer.roll
- layer.roll.move
- layer.roll.move.type
- layer.pitch
- layer.pitch.move
- layer.pitch.move.type
エフェクト
- layer.alpha.fadein
- layer.alpha.fadeout
カウンタ
レイヤに対して数値を表示することが出来ます。
カウンタ素材は以下の様なものを用意します。
layer.counter.font.load(レイヤ番号,スロット,”画像ファイル名”,分割数)
カウンター用のフォント画像を読み込みます。
パラメータ
パラメータ | 初期値 | 範囲 | 説明 |
---|---|---|---|
レイヤ番号 | 無し | 0~127 | 読み込むレイヤ番号を指定します |
スロット | 無し | 0~9 | スロットを指定します |
画像ファイル名 | 無し | ファイル名を指定します | |
分割数 | 無し | 画像の分割数を指定します |
対応フォーマット
対応フォーマット の項目をご覧下さい。
サンプル:
layerLoad 100,"uipsd\updown@status%layer.png" layerPosition 100,-300,-280 layer.counter.font.load(100,0,"uipsd\updown@nums%layer.png",13) layer.counter.position(100,0,160,70) layer.counter.set(100,0,f_money)layer.counter.font.interval(レイヤ番号,スロット,文字数,間隔)
カウンターにインターバルを設けます
パラメータ
パラメータ | 初期値 | 範囲 | 説明 |
---|---|---|---|
../レイヤ番号 | 無し | 0~127 | 読み込むレイヤ番号を指定します |
スロット | 無し | 0~9 | スロットを指定します |
文字数 | 無し | 間隔を開ける文字数 | |
間隔 | 無し | 開ける間隔(ドット) |
対応フォーマット
対応フォーマット の項目をご覧下さい。
サンプル:
// レイヤ番号5番にマスクを適用する layerload 5,"frame\FRM_0522.png",-300-200,180 layer.mask.load(5,"rule\concentrate4.png",0,0)layer.counter.set(レイヤ番号,スロット,値)
カウンタの値を設定します。
パラメータ
パラメータ | 初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | レイヤ番号を指定します |
X座標 | 0 | 表示したい位置の横座標です |
Y座標 | 0 | 表示したい位置の縦座標です |
サンプル
layer.mask.load(5,"image\cutin_left_mask.png",0,0) layer.mask.position(5,100,100)layer.counter.change(レイヤ番号,スロット,値)
カウンタの値をアニメーションしながら変更します。
パラメータ
パラメータ | 初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | レイヤ番号を指定します |
X座標 | 0 | 表示したい位置の横座標です |
Y座標 | 0 | 表示したい位置の縦座標です |
サンプル
layer.mask.load(5,"image\cutin_left_mask.png",0,0) layer.mask.position(5,100,100)layer.counter.position(レイヤ番号,スロット,X座標,Y座標)
カウンタの位置を設定します。
パラメータ
パラメータ | 初期値 | 説明 |
---|---|---|
レイヤ番号 | 無し | レイヤ番号を指定します |
X座標 | 0 | 表示したい位置の横座標です |
Y座標 | 0 | 表示したい位置の縦座標です |
サンプル
layer.mask.load(5,"image\cutin_left_mask.png",0,0) layer.mask.position(5,100,100)layer.counter.font.minus(レイヤ番号,スロット,マイナスの文字番号)
マイナスのフォントを設定します
パラメータ
パラメータ | 初期値 | 範囲 | 説明 |
---|---|---|---|
../レイヤ番号 | 無し | 0~127 | 読み込むレイヤ番号を指定します |
スロット | 無し | 0~9 | スロットを指定します |
文字数 | 無し | 間隔を開ける文字数 | |
間隔 | 無し | 開ける間隔(ドット) |
サンプル:
// money layerLoad 100,"uipsd\updown@status%layer.png" layerPosition 100,-300,-280 layer.counter.font.load(100,0,"uipsd\updown@nums%layer.png",13) layer.counter.position(100,0,160,70) layer.counter.set(100,0,f_money) // add layer.counter.font.load(100,2,"uipsd\updown@nums%layer.png",13) layer.counter.position(100,2,160,93) layer.counter.font.minus(100,2,11) layer.counter.font.plus(100,2,12) layer.counter.set(100,2,f_money_plus) layer.counter.change(100,0,f_money+f_money_plus)layer.counter.font.width(レイヤ番号,スロット,字間)
文字の間隔を設定します
- layer.counter.font.zerofill ゼロフィルを設定します
- layer.counter.font.minus マイナスのフォント番号を設定します
- layer.counter.font.plus プラスのフォント番号を設定します
- layer.counter.add
- layer.counter.sub