スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

カテゴリ : スポンサー広告

KAGEX記事まとめ

KAGEX関連の記事まとめ

このページは移転しました。

http://www.biscrat.com/blog/kagex-articles/
スポンサーサイト

タグ : 吉里吉里 KAGEX

カテゴリ : メニュー(記事一覧ページ)

KAGEX講座(7) - 非同期動作(nosync)

前回 KAGEX講座(6) - クロスフェード(fade)
ワールド拡張では簡単に非同期でトランジションさせることができます。

非同期動作についてはごうさんのブログ参照。
具体的には↓のあたり。
ttp://ruriko.denpa.org/200908c.html#2301
ttp://ruriko.denpa.org/201008c.html#2202

envinitは前回とおなじなので省略。

以下スクリプト。
@道路 fade
;@stage stage=道路 fade と同じ
背景を同期動作で表示しました。[l][r]

@しおり show fade sync
;@char name=しおり show fade sync と同じ
キャラクタを同期動作で表示しました。[l][r]

@しおり 直立 fade sync
;@char name=しおり pose=直立 fade sync と同じ
同期でポーズを変更しました。[l][r]

@しおり 通常 fade nosync
;@char name=しおり pose=通常 fade nosync と同じ
非同期でポーズを変更しました。[l][r]

@しおり hide fade nosync
;@char name=しおり hide fade nosync と同じ
非同期でキャラクタをかくしました。

実行してみると同期動作と非同期動作のちがいがわかると思います。
sync属性をつけると同期、nosync属性をつけると非同期でフェードされます。
デフォルトでは同期動作なので、sync属性はつけなくても動作はかわりません。
非同期動作は背景でも使えないことはないですが基本的にキャラクタレイヤの切り替えなどに使うはずです。
(最初に挙げたURL参照)
次回 KAGEX講座(8) - トランジション(trans)

続きを閉じる▲

タグ : 吉里吉里 KAGEX 講座

カテゴリ : KAGEX

KAGEX講座(6) - クロスフェード(fade)

前回 KAGEX講座(5) - キャラクタ表示
今回はトランジションを使ってみます。

背景とキャラクタの画像は第4回及び第5回で使った画像と同じ画像を使用します。

まずはenvinit.tjsですが第4回と第5回のenvinitを合わせただけです。
解説はしません。
%[
    times : %[
         : %[
            prefix : "01",
        ],
         : %[
            prefix : "02",
        ],
    ],    
    defaultTime : "昼",
    
    stages : %[
        道路 : %[
            image : "bg01_TIME",
        ],
    ],
    
    levels : [],
    
    yoffset : 240,
    
    characters : %[
        しおり : %[
            poses : %[
                通常 : %[
                    image : "siori_DRESS_n_FACE_0",

                    dresses : %[
                        夏制服 : "s",
                        冬制服 : "w",
                    ],
                    defaultDress : "s",
                    
                    faces : %[
                         : "k",
                         : "d",
                    ],
                    defaultFace : "k",                    
                ],
                直立 : %[
                    image : "siori_DRESS_s_FACE_0",
                    dresses : %[
                        夏制服 : "s",
                    ],
                    defaultDress : "s",
                    faces : %[
                         : "k",
                    ],
                    defaultFace : "k",
                ],
            ],
            defaultPose : "通常",
        ],
    ],
];


レイヤをフェード(クロスフェード)で表示するにはfade属性を使用します。
@stage stage=道路 fade
背景をフェードで表示しました。

細かい説明はしません。実行してみればわかります。

フェードの時間を指定することもできます。
@stage stage=道路 fade=3000
背景をフェード(3000ms)で表示しました。

fade属性に時間(ms単位)を指定します。
指定されなかった時にはデフォルトの時間(500ms)が使用されます。

省略記法を使うと以下のようになります。
@道路 fade=3000
; stage stage=道路 fade=3000 と同じ
背景をフェード(3000ms)で表示しました。


背景を隠すときにはキャラクタと同じようにhideを使います。
@道路 fade=1000
; @stage stage=道路 fade=1000 と同じ
背景をフェードで表示しました。[l][r]

@道路 hide fade=1000
; @stage stage=道路 hide fade=1000 と同じ
背景をフェードで隠しました。[l][r]

@道路 fade=1000
; @stage stage=道路 fade=1000 と同じ
再表示しました。

裏ページ、表ページを考える必要はありません。

時間変更も同じようにfadeが使えます。
@道路 fade
; @stage stage=道路 fade と同じ
背景をフェードで表示しました。[l][r]

@ fade
;@stage stime=夜 fade と同じ
時間を変更しました。




以上のことはキャラクタについても同様です。
@しおり show fade
; @char name=しおり show fade と同じ
キャラクタ表示[l][r]

@しおり  fade=200
; @char name=しおり face=怒 fade=200 と同じ
表情切替[l][r]

@しおり hide fade
; @char name=しおり hide fade と同じ
キャラクタ非表示[l][r]

@しおり show fade
; @char name=しおり show fade と同じ
キャラクタ再表示

背景ではhideを指定しなければ勝手に表示されますが、キャラクタではshowを指定しないと非表示のままなので注意してください。

続きを閉じる▲

タグ : 吉里吉里 KAGEX 講座

カテゴリ : KAGEX

KAGEX講座(5) - キャラクタ表示

前回 KAGEX講座(4) - 背景表示
今回はキャラクタを表示してみます。

今回は画像4枚使います。
siori_w_n_d_0.pngsiori_s_n_d_0.pngsiori_s_n_k_0.pngsiori_s_s_k_0.png
左から
siori_w_n_d_0.png
siori_s_n_d_0.png
siori_s_n_k_0.png
siori_s_s_k_0.png
としてfgimageにいれておきます。
※画像はキャラクターなんとか機で出力しています。

まずはenvinit.tjsを以下のものに書き換えます。
%[
    levels : [],
    
    yoffset : 240,
    
    characters : %[
        しおり : %[
            poses : %[
                通常 : %[
                    image : "siori_DRESS_n_FACE_0",

                    dresses : %[
                        夏制服 : "s",
                        冬制服 : "w",
                    ],
                    defaultDress : "s",
                    
                    faces : %[
                         : "k",
                         : "d",
                    ],
                    defaultFace : "k",                    
                ],
                直立 : %[
                    image : "siori_DRESS_s_FACE_0",

                    dresses : %[
                        夏制服 : "s",
                    ],
                    defaultDress : "s",
                    faces : %[
                         : "k",
                    ],
                    defaultFace : "k",
                ],
            ],
            defaultPose : "通常",
        ],
    ],
];

次にfirst.ksに以下のように書きます。
@char name=しおり show
キャラクタを表示しました。[l][r]

@char name=しおり face=
表情を切り替えました。[l][r]

@char name=しおり dress=冬制服
服装を切り替えました。[l][r]

@char name=しおり pose=直立 face= dress=夏制服
ポーズを切り替えました。[l][r]

@char name=しおり hide
キャラクタを隠しました。[l][r]
実行すると画像が順に表示されます。

以下解説。

KAGEXには「顔分離型立ち絵」と「顔合成型立ち絵」があるのですが今回は顔合成型立ち絵の方を使います。
顔画像を別に指定すれば分離型を使えますがその方法はまた他の回で。
⇒遥か第17回で解説してます。少なくとも今回の知識は前提です。

characters定義
キャラクタの情報はenvinitのcharactersに定義します。
今回は「しおり」として1キャラのみ定義されています。
各キャラは基本的にポーズごとに定義していきます。今回は「通常」と「直立」の2つが定義されています。
defaultPoseでデフォルトのポーズを設定することもできます。

各ポーズ定義のimageに画像ファイル名を指定します。
「通常」の方は"siori_DRESS_n_FACE_0"、「直立」の方は"siori_DRESS_s_FACE_0"としています。
"_n_"と"_s_"の部分でポーズを判別できるようにしました。
体の前で手を組んでいる方が通常(_n_)、突っ立ってる方が直立(_s_)です。
大文字で書かれた"DRESS"と"FACE"は前回のTIMEのようにそれぞれ服装と表情で入れ替わる部分です。
最後の"_0"は表示レベル対応のためにつけていますが今回は説明しません。
次回以降説明するので今回は気にしないでください。

服装と表情の定義は各ポーズごとにしていきます。
dresses(服装)とfaces(表情)がそれです。
どちらも「パラメータ名 : 置き換える文字列」の形で定義します。
例えば通常ポーズの方では服装が「夏制服」の時にDRESSの部分が"s"、「冬制服」のときには"w"に入れ替わります。
表情についても同様にFACEの部分が"k"もしくは"d"に入れ替わります。

ポーズごとにデフォルトの服装と表情も設定できます。(defaultDressとdefaultPose)
ここではパラメータ名(「夏制服」など)ではなく置き換える文字そのもの("s"など)を指定するので注意してください。

[char]タグ
キャラクタの表示には[char]タグを使用します。
name属性にキャラクタ名を指定します。
envinit.tjsを読み込んだ時点で既に「しおり」というキャラクタは生成されています。最初は非表示になっているので見えません。
※新しくキャラクタを生成するには[newchar]タグを使います。今回は説明しません。
キャラクタを表示するにはshow属性を指定します。
なので「@char name=しおり show」で表示することができます。
このときポーズ、服装、表情はデフォルトのままなので"siori_DRESS_n_FACE_0"のDRESSの部分が"s"、FACEの部分が"k"に入れ替わった「siori_s_n_k_0」が表示されます。

[char]タグのface属性、dress属性、pose属性でそれぞれ表情、服装、ポーズを指定することができます。

キャラクタを非表示にするためにはhide属性を指定します。

yoffset
envinit.tjsでcharactersのほかにyoffsetを定義しています。
これはキャラクタを表示するときにy方向にずらす幅(px単位)です。
KAGEXではレイヤはデフォルトで中央に配置されます。
⇒詳しい説明はKAGEX講座(12)
X方向はそれでいいのですがY方向は立ち絵画像に合わせてずらしてやる必要があります。
yoffsetを指定しない場合画像は↓の位置に配置されます。
kagex_yoffset.png
今回の画像ではY方向に240pxずらしてウィンドウと底辺をそろえれば丁度よくなります。

省略記法
name属性、pose属性、face属性、dress属性では省略記法が使えます。
@しおり show
;@char name=しおり show と同じ
キャラクタを表示しました。[l][r]

@しおり 
;@char name=しおり face=怒 と同じ
表情を切り替えました。[l][r]

@しおり 冬制服
;@char name=しおり dress=冬制服 と同じ
服装を切り替えました。[l][r]

@しおり 直立  夏制服
;@char name=しおり pose=直立 face=喜 dress=夏制服 と同じ
ポーズを切り替えました。[l][r]

@しおり hide
;@char name=しおり hide と同じ
キャラクタを隠しました。[l][r]

省略記法により劇的にタイプ量を減らすことができます。

envinitのlevelsは表示レベルに関係するものですが今回は説明しません。
ただし書いておかないとエラーになるので注意してください。

続きを閉じる▲

タグ : 吉里吉里 KAGEX 講座

カテゴリ : KAGEX

skn_SystemShowing更新 ver. 1.01

ダウンロードはこちら

skn_SystemShowingプラグイン(システム表示プラグイン)をバージョンアップしました。

ver1.01の変更点
・設定項目にabsolute追加。
・KAGEX版公開。
・バグフィックス。

タグ : 吉里吉里 プラグイン KAG KAGEX TJS

カテゴリ : 雑記

KAGEX講座(4) - 背景表示

前回 KAGEX講座(3) - ワールド拡張
今回は背景を表示してみます。
前回書きましたが背景は舞台レイヤ(ステージレイヤ)に表示されます。

今回は背景として画像を二枚使用します。
必要なら↓二枚を持って行ってください。
bg01_01.pngbg01_02.png
昼間の画像の方を「bg01_01.png」、暗くなった画像の方を「bg01_02.png」とします。
プロジェクトフォルダのbgimageフォルダにいれておきます。

まずはenvinit.tjsに背景の定義を書きます。
※envinit.tjsには辞書配列と配列の形で定義を書いていきます。
※辞書配列そのものについては気が向けば解説します。→書きました
第一回で準備したenvinit.tjsを開いて以下のように書いてください。%[];とだけ書いていると思いますがそれは消していいです。
%[
    times : %[
         : %[
            prefix : "01",
        ],
         : %[
            prefix : "02",
        ],
    ],
    
    defaultTime : "昼",
    
    stages : %[
        道路 : %[
            image : "bg01_TIME",
        ],
    ],
];


次にfirst.ksを開いて以下のスクリプトを書きます。
@stage stage=道路
背景を表示しました。[l][r]

@stage stime=
舞台時間を切り替えました。[l][r]

実行すると背景としてbg01_01とbg01_02が表示されます。

以下解説。

背景を表示するには[stage]タグを使います。
[stage]タグのstage属性にenvinit.tjsのstagesに定義した背景を指定します。
ここではstage属性に「道路」が指定されています。
envinitの道路の定義としてはimageにbg01_TIMEが定義されています。
imageには背景画像のファイル名を定義するのですが、「TIME」の部分は舞台時間によって変わる部分です。
舞台時間はenvinitのtimesとして定義されています。ここでは「昼」と「夜」が定義されています。
TIMEの部分が舞台時間が昼のときには「01」、夜のときには「02」に入れ替わります。
つまり、timesの各定義(ここでは「昼」と「夜」)の「prefix」に指定されているものに入れ替わる、ということです。

今回のenvinit.tjsにはtimesとstagesのほかにdefaultTimeが定義されています。
defaultTimeにはデフォルトの舞台時間を指定します。ここでは「昼」となっています。
first.ksの最初の[stage]タグの時点では舞台時間がなにも指定されていません。(もちろん指定することは出来ますが)
このときにdefaultTimeに指定された舞台時間の画像が表示されます。
結果として、最初の[stage]タグでは「道路」の「昼」の画像、つまり「bg01_TIME」のTIME部分を「01」に入れ替えた「bg01_01」が背景として表示されます。

2つ目の[stage]タグでは舞台時間を設定しています(舞台時間はstime属性で指定します)
現在背景に設定されているのは「道路」なので、「bg01_TIME」のTIME部分を「02」に入れ替えた「bg01_02」が背景として表示されます。


当然[stage]タグにstage属性とstime属性を同時に指定することもできます。
@stage stage=道路 stime=
夜の道路を表示しました。



stage属性とstime属性については省略記法が使えます。
省略記法ではタグの名前や属性などを書く必要がありません。
↓のスクリプトで動いてしまいます。
@道路
; @stage stage=道路 と同じ
背景を表示しました。[l][r]

@
; @stage stime=夜 と同じ
舞台時間を切り替えました。[l][r]

これは先のスクリプトと同じ動きをします。

stage属性とstime属性を同時に指定するときには以下のようになります。
@道路 
; @stage stage=道路 stime=夜 と同じ
夜の道路を表示しました。

なんだかKAGEXっぽくなってきましたが今回はここまで。

簡単なまとめとして
・envinit.tjsに配列と辞書配列の形で定義を書く
・stagesに背景の定義を書く。
・timesに舞台時間の定義を書く。
・defaultTimeにデフォルトの舞台時間を定義する。

今回はstagesとtimesの各定義でprefixとimageを使いましたがその他にもいろいろあります。
それらについては順次紹介していきます。
馬鹿丁寧に[stage]タグを使いましたが普通使いません。
実際にシナリオを書くときは最後に紹介した省略記法で書いてください。

続きを閉じる▲

タグ : 吉里吉里 KAGEX 講座

カテゴリ : KAGEX

KAGEX講座(3) - ワールド拡張

前回 KAGEX講座(2) - 表示レベル

KAGEXからworld.ksをプラグインとして読み込むと、ワールド拡張機能が使えるようになります。
現在のKAGEXではデフォルトで読み込まれるようになっています。

ワールド拡張を使うなら、KAGとは完全に別物だと思った方がいいです。
「envinit.tjs」にキャラクタやトランジションやその他諸々の設定を書き、シナリオファイルにそれらを利用したスクリプトを書いていきます。

KAGでは背景レイヤや前景レイヤなどのレイヤがありました。
ワールド拡張では「舞台レイヤ」、「イベントレイヤ」、「環境レイヤ」、「キャラクタレイヤ」が追加されます。
※レイヤという名称は正確ではありません。KAGEX同梱のworld.txtではオブジェクトと説明されています。
※今回はレイヤと呼びます。

各レイヤは↓の順に表示されます。
kagex_3_1.png

環境レイヤキャラクタレイヤには表示レベルを設定できます。
表示レベルについては前回簡単に説明しました。
ワールド拡張ではKAGでいう前景レイヤは使いません。
使えますが使わない方がいいです。めんどくさいだけです。
かわりに環境レイヤとキャラクタレイヤに表示させます。

背景レイヤも使わない方がいいです。
かわりに舞台レイヤに背景を表示させます。

イベントレイヤにはイベント絵を表示させます。
デフォルトでは表示レベル4のレイヤと表示レベル5のレイヤの間に表示されます。

メッセージレイヤと履歴についてはKAGと共通のものを使用します。(もちろん機能拡張されていますが)


KAGでは表ページ、裏ページという概念がありました。
ワールド拡張で追加されたレイヤにもそれはありますが、スクリプトを書く際にはページを意識しません。
そこらへんは勝手に処理してくれます。
まあ使いながら慣れればいいです。
「俺は裏ページを使いたいんじゃあああああ」と無駄な苦労をしないようにしましょう。

続きを閉じる▲

タグ : 吉里吉里 KAGEX 講座

カテゴリ : KAGEX

KAGEX講座(2) - 表示レベル

前回 KAGEX講座(1) - 準備
前回作ったtestフォルダを使用します。準備しておいてください。
KAGEXでは前景レイヤに表示レベルを指定できます。

適当にテストに使う画像を準備してください。めんどくさい人は↓の画像ダウンロードしてください。
画像のファイル名を「character.png」にしてfgimageフォルダに入れておきます。
kagex_2_1.png

[laylevel]タグ
表示レベルは[laylevel]タグで指定することができます。
とりあえずスクリプト↓。KAGEXでもKAGと同じようにfirst.ksに書けばいいです。
@wait time=200
*start|スタート
@cm

@image layer=0 storage=character left=200 visible=true
前景レイヤ0にキャラクター表示[l][r]
@image layer=1 storage=character left=280 visible=true
前景レイヤ1にキャラクター表示[l][r]
@image layer=2 storage=character left=120 visible=true
前景レイヤ2にキャラクター表示[l][r]

@laylevel layer=0 page=fore level=1
前景レイヤ0の表示レベルを1に[l][r]

@laylevel layer=1 page=fore level=2
前景レイヤ1の表示レベルを2に[l][r]

@backlay
@laylevel layer=2 page=back level=3
@trans method=crossfade time=800
@wt
前景レイヤ2の表示レベルを3に(トランジション使用)[l][r]

前半はimageタグでcharacter.pngを表示しているだけです。
後半からlaylevelタグを使って表示レベルを変えています。

laylevelタグには4つ属性があります
layer : 対象となるレイヤを指定します。
page : 対象となるページ(foreまたはback)を指定します。省略するとforeになります。
level : 表示レベルを指定します。
front : trueを指定すると同じ表示レベルのレイヤの中で最前面に表示します。(非推奨)

KAGでは前景レイヤはレイヤ番号が大きいレイヤほど前に表示されていました。
KAGEXでは表示レベルが大きいレイヤほど前に表示されます。
(※表示レベルはデフォルトでは0になっています)
表示レベルが同じレイヤ同士では、後にレイヤ番号が変更されたレイヤほど前に表示されます。
front属性は敢えて使う必要はありません。
後述する[layfront]タグと[layback]タグを使えばいいです。

最後はトランジションを使っています。
[backlay]タグを使うと表示レベルも裏ページにコピーされます。

[layfront]タグ、[layback]タグ
同じ表示レベルのレイヤ間で表示順を変えるには[layfront]タグと[layback]タグを使用します。
以下スクリプト。
@wait time=200
*start|スタート
@cm

@image layer=0 storage=character left=200 visible=true
@image layer=1 storage=character left=280 visible=true
@image layer=2 storage=character left=120 visible=true
前景レイヤ0~2にキャラクター表示[l][r]
; この時点で表示レベルはどのレイヤも0

@layfront layer=0 page=fore
前景レイヤ0を前にもってくる[l][r]

@layback layer=0 page=fore
前景レイヤ0を後にもってくる[l][r]

[layfront]タグは指定されたレイヤを同じ表示レベルのレイヤの中で最前列に表示させます。
[layback]タグは最後列に表示させます。
属性はlayerとpageの2つだけです。

続きを閉じる▲

タグ : 吉里吉里 KAGEX 講座

カテゴリ : KAGEX

KAGEX講座(1) - 準備

前回 KAGEX講座(0) - KAGEXとは?

参考:http://kikyou.info/diary/?200610#i4_3
KAGEXのダウンロードの仕方は上のW.Deeさんの記事に書いてますが、改めて書いておきます。
どうしても分からんかったら諦めた方がいいかも……。
まあ聞いてくれれば答えるかもしれません。

1.TortoiseSVNのインストール
http://www.gside.org/Gentoo/subversion/subversion_client.html
上の記事を見てダウンロード、インストールしてください。

2.KAGEXをダウンロード
(上の記事のやり方とはちょっと違う方法です)
デスクトップ上で右クリックします。
「TortoiseSVN」 → 「エクスポート」を選択します。
kagex_1_1.png


エクスポートウィンドウが出てくるので「リポジトリのURL」の部分に
https://sv.kikyou.info/svn/kirikiri2/branches/kag3ex2
https://sv.kikyou.info/svn/kirikiri2/branches/kag3ex3
※最新版でURLが再度変更になっています。

を指定します。
(▲上の記事とはリポジトリURLが変わっています。注意▲)
さらに、「エクスポート先ディレクトリ」の部分にkagexをダウンロードするフォルダを指定します。
(ここではC:\kagexとなっていますがどこでもいいです。自分でわかる場所にしてください。)
kagex_1_2.png

どちらも指定したらOKボタンを押します。
するとダウンロードが始まるので終わるまで待っててください。
ダウンロードが終わったらOKボタンを押して終わりです。

3.KAGEXのファイル構成
KAGEXをダウンロードしたフォルダには
KAGEXの初期設定.txt
templateフォルダ
pluginフォルダ
docフォルダ
dataフォルダ

が入っています。
「KAGEXの初期設定.txt」には初期設定方法が書いてます。
「template」フォルダにはKAGの代わりとなるKAGEX本体が入っています。
「plugin」フォルダにはKAGEXで使うプラグインが入っています。
吉里吉里本体と同じフォルダに置いておく必要があります。
「doc」フォルダにはKAGEXのリファレンスとライセンスが入っています。
一通り読んでおくといいです。
「data」フォルダにはKAGEXのサンプルが入っています。
前回挙げたサンプルと似たようなものなのであまり気にしなくてもいいかも。

4.とりあえず実行する
作業用フォルダを適当に作ります。(ここではtestとしておきます)
testフォルダにtemplateフォルダとpluginフォルダをコピーします。
コピーしたtemplateフォルダの中のsystemフォルダに「Config.~new」ファイルがあるので「Config.tjs」に改名しておきます。
templateフォルダの中にenvinit.tjsを新規作成します。
envinit.tjsをテキストエディタで開いて↓のスクリプトを書いて保存しておきます。
%[];

templateフォルダの中にあるupdate_auto_copy_vars.batは削除してください。
testフォルダに吉里吉里本体(krkr.eXe)もコピーします。
templateフォルダを「data」フォルダと改名します。
この時点でフォルダ構成は↓のようになっているはずです。
kagex_1_3.png


この状態でkrkr.eXeを実行すると無事吉里吉里が実行されるはずです。

次回以降実際にKAGEXを使ってみます。

続きを閉じる▲

タグ : 吉里吉里 KAGEX 講座

カテゴリ : KAGEX

KAGEX講座(0) - KAGEXとは?

みなさん吉里吉里/KAGは日常的に使っているとおもいます。(使っていない方は対象外です。

KAGEXはごうさん(http://ruriko.denpa.org/)がKAGを独自に改造したものです。
吉里吉里/KAGEXを使ったサンプルは↓にあります。
KAGEXサンプル:http://ruriko.denpa.org/200612c.html#2601
古いものですが一度見てみるといいとおもいます。
KAGEXではこのサンプルで使われている機能が簡単に使えます。
なかなか便利なんですが如何せんリファレンスが整備されておらず使いづらい。
非力ながら講座のようなものを書いていきます。KAGEX利用の一助になれば嬉しいです。
TJSの知識は出来るだけ使わないようにしますがあったほうがいいです。
TJSの講座サイトはいくつかあるので勉強しといてください。

続きを閉じる▲

タグ : 吉里吉里 KAGEX 講座

カテゴリ : KAGEX

最新記事
カテゴリ

openclose

記事一覧
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。