スポンサーサイト

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

ゲームシステム制作日記


mp-title


 こんばんわ。ミノンです♪

 久しぶりの更新になってしまいました...。すみませんですm(_ _)m
理由は、色々ありますが一番大きいのは

「説明が難しいんです」


 説明文を考えて書いては消して、書いては消して...。の繰り返し。
どうすれば分かりやすい説明が出来るか?初めての人でも、「へぇ、この処理ではこんな事をしているんだ」と分かってくれるのか?それを追求するあまり、書いては消し書いては消し...(;´・ω・)

 おかげさまで、中々いいものが出来ません(´;ω;`)

 という訳で、良い物が出来るまでちょっと休息を...(´;ω;`)
と言っても、待っている方もいると思うので先に答えを載せちゃいますね。

 では、前回言っていた「gameItem」フォルダを新たに作って、その中に「PreparationItem.txt」を作ってその中に値を入れる事」についてまずは、答え合わせと参りましょうか...。

 という訳でまずは、答えは以下の通り...

--------------------------------------------------------------------------------------------------------
(function() {
/**
*
* @namespace PreparationUtils
* @memberof MSN.Preparation
*/

//変数定義
var _Game_Interpreter_pluginCommand =
Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(command, args) {
// actual initialize(コマンド呼出し処理)
_Game_Interpreter_pluginCommand.call(this,command,args);

//変数定義
var preparationPath = '';
var preparationFileNm = 'PreparationItem.txt';
var booRet = false;

// XMLの書き込みコマンド
if(command == 'CreateDataTextFile'){
//ファイル名を取得
preparationPath = $gameSystem.localGameItemFilePath(preparationFileNm);
//変数定義
var fs = require('fs');
//調合ID,道具ID,個数,道具ID,個数...
//args[0]:調合アイテムID.調合に必要なアイテムID,個数...
var fsData = args[0]+"\n"; //書き込むデータの作成
//該当するディレクトリの存在チェック
var dirPath = $gameSystem.localGameItemFileDirectoryPath();
if(!fs.existsSync(dirPath)) {
fs.mkdirSync(dirPath);
}
//該当するファイルの存在チェック
if(fs.existsSync(preparationPath)){
//書き込みデータの有無チェック
booRet = $gameSystem.checkPreparationItem(preparationPath, args[0]);
}
if(booRet === true){
//何もしない
}else{
//書き込み
var fd = fs.openSync(preparationPath, "a");
fs.writeSync(fd, fsData, 0, "ascii");
fs.closeSync(fd);
}
}
};
/**
* 調合のファイルパスを取得
* @returns 調合のファイルパス名
*/
Game_System.prototype.localGameItemFileDirectoryPath = function() {
var path = window.location.pathname.replace(/(\/www|)\/[^\/]*$/, '/gameItem/');
if (path.match(/^\/([A-Z]\:)/)) {
path = path.slice(1);
}
return decodeURIComponent(path);
};
/**
* 調合アイテム保存用ファイル名をフルパスで取得
* @param preparationFileNm 調合アイテムファイル名
* @returns 調合のファイル名(フルパス)
*/
Game_System.prototype.localGameItemFilePath = function(preparationFileNm) {
return $gameSystem.localGameItemFileDirectoryPath() + preparationFileNm
};
/**
* 書き込むデータの存在チェック
* @param preparationPath 読み込むファイルパス
* @param preparationItemData 書き込むデータ
* @return true:同一データあり false:同一データなし
*/
Game_System.prototype.checkPreparationItem = function(preparationPath,preparationItem){
//変数定義
var fr = require('fs');
var booRet = false;
//ファイルの読み込み
var text = fr.readFileSync(preparationPath,"ascii");
//改行コードにてsplitし、1行ずつ読み込む
var strData = text.toString().split("\n");
var strFile = '';
for(var i = 0;i < strData.length - 1; i++){
strFile = strData[i].replace(/(^\s+)|(\s+$)/g, "");
if(strFile === preparationItem){
booRet = true;
}
};
return booRet;
};

}());
--------------------------------------------------------------------------------------------------------

 見づらいと思います、ごめんなさいですm(_ _)m
 このブログにJavaScriptソースを張り付けて、一つ一つ解説しようと思ったのですが、そのためには新たにHPを作成しなければならないので、その時間が作れなくって(;´・ω・)

 
 さてさて、このソースを見て一言...



 なにやってんだぁ、全然分からんわい(# ゚Д゚)


 という方も、まぁまぁ...(;´・ω・)

 1つ1つの解説は、私が書き終えたらという事で...勘弁してくださいm(_ _)m 

 ここで一つお知らせです。
私ミノンは、他のHPを主軸として活動しています(;´・ω・)それは、

猫民の詩のBlog

 こちらでは、主にその日にやった作業内容やツクールMVでシステムを作る際の備忘録をまとめているものです。猫民の詩のBlogは基本毎日更新しているので、もし宜しければ覗いてくださいですm(_ _)m

 では、今回はこの辺で失礼致しますm(_ _)m

 ではでは、ミノンでしたm(_ _)m

↓お役に立ちましたら、クリックをお願いします↓
にほんブログ村 ゲームブログへ
にほんブログ村

にほんブログ村 ゲームブログ ゲーム制作へ
にほんブログ村

ブログランキング・にほんブログ村へ
にほんブログ村
スポンサーサイト

コメント

Secret

プロフィール

猫民のんたん

Author:猫民のんたん

ネコタ:ゲーム作りが趣味の薬剤師。本職とゲーム作りの2足の草鞋を履きこなそうと日々奮闘。

毎週曜日と曜日or曜日に更新予定。


ミノン:ゲーム作り初心者で1児の母。前職はSE/PG。子育てをしながらゲーム作りを行おうと、日々奮闘中。

毎週曜日にブログ更新予定♪

最新記事
最新コメント
月別アーカイブ
カテゴリ
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

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