スキップしてメイン コンテンツに移動

JSON のオブジェクトを ID でリンクする(3)


gist8e9a924f3090183b6a41


JSON のオブジェクトを ID でリンクする(2) - SakuraCrowd’s blog の続きです。


詳しくは上記の gist のコメントに書きました。


前回は参照→オブジェクトへの変換だけでしたが、逆の変換の機能も追加しました。


参照とオブジェクトが混ざった状態から、オブジェクトだけに置換してしまうので、その後、どれがもともとオブジェクトだったのかわかりません。


そのため、変換の結果でそれを記録しておき、逆変換のときに利用します。


ない場合は、最初にみつけたオブジェクトの位置以外を参照に置き換えます。


 


git 苦手だったけどちゃんとできたよ(`・ω・´)


subversion も使いこなしてたってわけではありません。


しかし git はもっとわからなかったしやってませんでした。


そんなでしたが、いい機会だしとやってみると以外に簡単にやれました。


tortoiseGIT っていうコンテキストメニュー拡張のソフトを使いました。


バージョン管理したいファイルの置いてあるフォルダを選んで、「Git ここにリポジトリを作成」を選ぶ。


管理したいファイルを選択して Git > 追加 メニューで追加する。


あとはコミットすればOK。


ついテンパったりめんどくなるとコピーして日付つけて「どきっ!コピーだらけの開発フォルダ///」になってしまうのですが、なるべく git とかで管理しようといつも思っています。


 


jasmine-node が動かないヽ(`Д´)ノウワァァァン!!


以前に、 npm install -g jasmine-node でちゃちゃちゃっとインストールしておいて、以前はたしかコマンドプロンプトから jasmine-node でいけたはずなのに、「cannot find module」とか「ファイルとして認識されません」とかでちゃった(∀`*ゞ)テヘッ


なんか、いじっちゃったかなー、って環境変数とか確認してたけど、よくわからないまま3時間経過ヽ(`Д´)ノウワァァァン!!


自分の中ではこういう問題を「環境系バグ('∀`)」と呼び恐れています。


環境様を怒らせたらもう何がなんだかわからないバグがいっぱいでて(゚∀゚)アヒャヒャヒャヒャヒャヒャとなってしまうのですよ。


怖いですね(´・ω・`)


そんなときは思い切って再インストールすればいいんだよ!って思って node.js はしてみたんだけど、 npm のほうは残ってしまいました。


そこでたまたま見つけた node.js メニューの node.js command prompt を起動してみました。


Visual Studio の command prompt みたいに環境変数をちょこちょこと追加したコマンドプロンプトでした。


これで jasmine-node と実行するとちゃんと認識できたー(∩´∀`)∩ワーイ


 


next ('∀`)'s hint


ID で JSON のオブジェクトをリンクさせる機能は sakuraCrowd.jsonId という名前で作成したので、これを使う上位の関数 loadTmx(仮)を作ろうと思います。


loadTmx は node で動くので jasmine-node を動かそうといろいろやってたのです。


おおざっぱにいうと tmx を読み込んで、オブジェクトレイヤーのオブジェクトに jsonId を適用します。他にそのオブジェクトを拡張するのですが、それはまた今度書こうと思います。


コメント

このブログの人気の投稿

QTableView で表を表示してみる

タイトルは駄洒落を狙っているわけではありません。 こんばんわ SakuraCrowd です。 今回は今作っているソフトの経過報告です。 最近のブログのパターンは、 「XXX作ったよ。これがスクリーンショットね。あとこんなこと思ったよ。」 という流れですが、 今日はできていないソフトの部分的な話なので、 いつもよりもプログラムちっくな話になると思います。(´Ծ_Ծ´)メガネノトキハマジメブッテル QTableView は GUIライブラリ Qt のクラスです。 それを Python で使うための PySide というライブラリを使っています。 某表計算ソフト っぽい表の GUI です。 このデータの日付が 09/01 なのでおそらくその日に   QTableView 使うぞ!(`・ω・´) とサンプルデータを作ったのでしょう。 Qt Designer という GUI エディタを使うとポトペタでウィンドウを設計できます。 選択できる GUI の中に QTableView と QTableWidget があります。 どちらも上のような表の GUI です。 QTableWidget は 簡単 に値をいれたりできます。 Qt Designer 上で直接編集 することができるので、 サンプルの表を簡単に作ることができます。 それに対して、 QTableView は Qt Designer 上では値を編集できません。たぶん。 QTableView の強みは MVC の構造 を使えることです。 名前のとおり QTableView は View です。 これにデータを管理している Model オブジェクトを設定して使います。 Model クラスを作る手間がかかりますが、 GUI の細かな操作をしなくても Model に応じた表を表示してくれます。 Model は QAbstractTableModel を 継承 して作ります。 コンストラクタで基底クラスの処理を呼び出し、いくつかの純粋仮想関数をオーバーライドします。 def __init__ ( self , parent= None , *args):...

和風狩ゲー「WildHearts」プレイ日誌(ツイートまとめ)

幻想的な和風のおとぎ話の世界のような雰囲気で始まる、カラクリで戦略が広がる狩ゲー 「 Wild Hearts 」のプレイ感想(主にツイート)のまとめです。 通常価格は1万円近くしますが、Steam のスプリングセールで 85 % オフの 1, 455 円で購入しました。 カラクリは思ったより全然簡単に出せて面白い!幻想的なマップと御伽噺のような獣たち 20250317 https://x.com/SakuraCrowd/status/1901213871937134633 カラクリ(最初はハコ)を一瞬で配置してそれに乗ってジャンプ強攻撃したり、高い壁のぼったりする要素が新しい。 すごく感動したのが、マップのおとぎ話のような幻想的なデザイン。 フィールドには入れる小屋があったり、それを壊されたり、ダイナミックなステージの変化も楽しい #WildHearts 武器強化や図鑑がこれから増えていくのを思うとワクワク!20250316 https://x.com/SakuraCrowd/status/1901215264269906190 武器を細かく強化していけそうなのがわくわくする 野営地に置く鍛冶の施設とかも少しずつ解除して、好きな位置に配置できる あと討伐した敵の情報も倒した数で詳細な情報が見られる #WildHearts 1バトル5分だけどハラハラ!初の武器強化! 20250317   https://x.com/SakuraCrowd/status/1901597289082405135 ハナヤドシを5回狩ると図鑑が詳しくなって、生態の説明の他に、レアなアイテムを落とす部位もわかった。 しっぽの先についている塊に栄養を吸い取られているためにいつも貪欲らしい。 その塊を何とか3回部位破壊して今作れる一番強いからくり刀できた 一戦5分くらいでできるのがいい #WildHearts コハクヌシを倒して氏繁救出!マグマみたいなのは琥珀だったのかー 20250317 鍛冶師のなつめが言っていた、氏繁をコハクヌシから助ける コハクヌシの住処の洞窟の上から声がして、探してたらやられてしまったw そのあとまたその場所に戻ってバトル再開して勝った 氏繁はなんか飄々としていて、まじめななつめとの3人の旅が面白くなりそう #WildHearts カラカラとなったらコダマを探すの...

HSPで画像の重ね合わせをしてみた

あいにくの曇り空だったが、 スーパームーン を少し見ることができた。 なんとなくだが、月明かりがいつもよりも強い気がする。 中秋の名月とほぼ同時に月が地球に 接近するのは稀らしいので何かありがたい(-人-) 先週ブログを書いていたときに、 ハロウィン にちなんだゲームを作りたいなー と思っていて、ふわっとした企画を考えて、少し作り始めた。 まだできるかどうかわからないけど、初めて HSP で絵を出せたのがうれしいのでブログを書いてみる。 HSP 自体はだいぶ前から知っていて、ちょっとしたGUIのツールを作ったりしていた。 GUIアプリケーションをここまで短く実装できる言語は自分の中ではこれが一番だと思う。 もっと短くできるかもしれないが、ビギナーな私でもこのくらい短くかける。 screen 0, 160, 64 // ウィンドウ作成 button "greet", *OnGreet // ボタン作成&イベント関連付け stop *OnGreet // イベント dialog "Hello!" stop バージョンアップして今では WebGL や  iOS や Android でも実行できる。 そのときは HSP3Dish という環境を使うために  #include "hsp3dish.as"  でスクリプトを読み込む。  参照: HSP3Dish プログラミングマニュアル・基本仕様ガイド 制限として、拡張プラグインやCOM/Variant型や外部DLL呼び出しやモジュール変数については未サポートのようだ。 ゲームでスプライトを用いるため es_set などのスプライト用の関数を使いたかったが、これは hspdx という拡張プラグインなので HSP3Dish には対応していないと思う。 そんな理由から、スプライト系の処理を自作しようと思う。 先週ちまちまとドット絵を描いたので、それを HSP のウィンドウに描画してみた。 なんかドット絵を作っている最中は、わりと良く思えたのに、 ウィンドウに出してみると何か微妙 (´・ω・`) ちなみに、キャラは4コマにも描いている大砲ゲーム「お団子キャノン」に出てくるキャラクターだ。 キャラの...