RPG01

MAGI JAVA -Make a game in Java-
JAVA Game作成講座2 13回
アイテムエディター作成3 アイテム設定テスト


RPGkouza2-13 zipファイル


[アイテムエディター作成3]
前回から大して進んでいないが、微調整に時間を食った。
データをエディターで作成し、店売りの商品として並べる所まで進めた。

今回新規で作成した部分はごくわずか。
shopのイベントで呼び出しをしただけ。
エディターの微調整の方が手間がかかっている。
前回までの設定データでは足りないものが多かったので、急遽変数を追加した。
行き当たりばったりで色々仕様を変更するのはよくある事…。
とりあえず動けばいいという大雑把な考えでやっている。

まず呼び出し。使う関数を変えるが戻る結果は同じになるようにしてある。
関数内でアレコレしてItemDataの形にして戻す、という流れは同じ。

ItemData idata=idSet.dataSet_easy(type,iNum);

ItemData idata=idSet.dataSet_file(type,iNum);

ではそのブラックボックスの中身を覗いてみよう。(科学の実験みたいだな…)

[ItemDataSetクラス]
比較用に通常のアイテムデータ設定関数も貼っておく。

//カテゴリー、ナンバーを受けとり、それに対応したアイテムを戻す。基本のアイテム作成方法。
public ItemData dataSet_easy(int dt1,int dt2) {

init();
ItemData idata=new ItemData();
//System.out.println("dt1, dt2="+dt1+","+dt2);
switch (dt1) {
case 1: //手装備
idata=weaponSet(dt2);
break;
case 2:
idata=armorSet(dt2);
break;
case 3:
idata=accesorySet(dt2);
break;
case 4:
idata=itemSet(dt2);
break;
}
idata.category=dt1;
idata.itemNumber=dt2;

return idata;


}
//カテゴリー、ナンバーを受けとり、それに対応したアイテムを戻す。ファイルからデータを読み込むパターン
public ItemData dataSet_file(int dt1,int dt2) {

init();
ItemData idata=new ItemData();
//System.out.println("dt1, dt2="+dt1+","+dt2);
int[][][] itData=null;
String[][] itName=null;
itData=dataSL.itemDataLoad();
itName=dataSL.itemNameLoad();
//少し複雑だが、この順番にデータが入っているので、それを組み替える。
//            0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
//String[] stnameList= {"HP","MP","KP","STR","PRT","DEX","AGL","MSTR","MPRT","MDEX","MAGL","Price","NoSell","Shape","LV","LVMax","AttAnime","AttRange","uType","uPower","uRange","Cateogy","INumber"};

//idata=iData[dt1][dt2];
idata.name=itName[dt1][dt2];
idata.shape=itData[dt1][dt2][13]; //こういう感じで逐一抜いていく部分もある。
idata.price=itData[dt1][dt2][11];
for (int i=0;i<=2;i++) {
idata.vst[i]=itData[dt1][dt2][i];
}
for (int i=0;i<=3;i++) {
idata.fst[i]=itData[dt1][dt2][i+3];
idata.mst[i]=itData[dt1][dt2][i+7];
}
idata.attackAnime=itData[dt1][dt2][16];
idata.attackRange=itData[dt1][dt2][17];
idata.type=itData[dt1][dt2][18];
idata.power=itData[dt1][dt2][19];
idata.range=itData[dt1][dt2][20];
idata.category=dt1;
idata.itemNumber=dt2;
return idata;


}

一つの変数にデータが大量に入っているので、抜き出す個所を間違えると台無しになる。
通常パターンの呼び出しと違い、アイテムカテゴリーに関係なく同じデータを読み込む。
そのまんまの処理なのであまり解説する部分が無いな…。

今回はここまで。あっさりしすぎている気がするが、あまり手を付けていないので書くことも少ない。
しいて言えば全体的にキー入力のやり方を修正したのでキー入力のあるクラス全部を修正している。
次はユニットエディターを作る。
手順はアイテムエディターとほとんど同じだが、
ステータスが多いので入力箇所が増える。

それが終わればイベントエディターだけだ。これは作るかどうか未定のまま。
そういう流れで進めていく。もうエディター作成は飽きてきた…。


・トップページへ戻る
inserted by FC2 system