空想曲線

吉里吉里2/KAG3でのゲーム制作に使える小ネタ置き場。ゲーム用素材も置いてます。

吉里吉里/KAG:外部フォルダに格納した画像を呼び出すには  

2016-04-28
2017-06-14
cm0
tb0

忘れた頃にやってくる吉里吉里/KAG ちょいネタシリーズ。

今回の「外部フォルダに格納した画像ファイルをゲーム内で呼び出す」の内容ですが
要は「プレイヤーが用意した画像をゲーム内で読み込ませよう」というネタです。

準備するものは

 ・新規KAGプロジェクトファイル
 ・画像を入れておくフォルダ
 ・読み込ませたい画像
 ・代替用の画像

の4つです。では、いってみましょう。

1.画像を入れておくフォルダの名前を「illust」にします
2.読み込ませたい画像の名前を「chara.png」にします
3.illust フォルダの中に chara.png を入れます
4.illust フォルダを吉里吉里の実行ファイルと同じフォルダの中に置きます
5.代替用の画像の名前を「default.png」にします
6.KAGプロジェクトフォルダの bgimage フォルダに default.png を入れます


それではスクリプトを書いていきます。おーぷん ゆあ first.ks (*'д'* )ノ


[ iscript ]

tf.img_chara = System.exePath + "illust/chara.png";

[ endscript ]


一時変数 tf.img_chara に illust フォルダ内の chara.png 画像のパスを入れます。
System.exePath というのは吉里吉里の実行ファイルが置いてある場所を指しています。

あとは image タグを使って呼び出すだけです。


[ image storage=&tf.img_chara layer=0 visible=1 ]


これを実行すると画面に chara.png の画像が読み込まれるのですが
illust フォルダに chara.png がないとエラーになるので修正していきます。


[ iscript ]

// 変数 imgChara にさっきのパスをつっこみます
var imgChara = System.exePath + "illust/chara.png";

// ファイルがあれば tf.img_chara = imgChara にする
if(Storages.isExistentStorage(imgChara)){
tf.img_chara = imgChara;
// chara.png がないときは tf.img_chara = default.png にする
}else{
tf.img_chara = "default.png";
}
[ endscript ]


Storages クラスの isExistentStorage メソッドを使ってファイルがあるかどうかチェックしています。
ファイルがあるとき(=true)は tf.img_chara にさっきと同じパスが入り
ファイルがないとき(=false)は代替用の default.png を呼び出すようにします。
代替のほうは System.exePath~の記述が不要なのでファイル名だけでおっけいです。


アーカイブ後はゲーム実行ファイルが置いてあるフォルダと同じ場所に illust フォルダを置き
「illust フォルダに chara.png という名前で画像ファイルを入れてね」とアナウンスしておけば
プレイヤーさんが準備したイラストをゲーム内に登場させることが可能となります。
分かりやすいようにサンプル画像を入れて上書きしてもらってもいいかもしれません。


例では一時変数を使用していますが、セーブ・ロード周りで問題が生じる場合は
普通の変数に切り替えるなどして対応してやってください。

といったところで、今回はこれにておしまい。

次回は「万能ダイス作ろうぜシリーズ」をお送りする予定です。
お楽しみにー ε=ε=ε=ヾ(´∀`*)ノ


※2016/05/02 スクリプト修正しました。盛大に間違えてたごめんよ。


関連記事

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://kopacurve.blog33.fc2.com/tb.php/415-bc529345
この記事にトラックバックする(FC2ブログユーザー)

Author

Recent

Category

Link

Comment

Mailform

Twitter