コミPo! からキャラ絵を切り出す方法

またまた、お久し振りです。

今回は死蔵してあった コミPo! を利用して、ゲームの立ち絵などに使えるキャラ絵を切り出す方法をメモします。

コミPo! は、本来マンガ作成ソフトなのですが、作成した絵の二次利用(制限あり:詳細は 公式サイト参照)ができます。
そこで、様々なポーズ・表情のキャラ絵を作成してゲーム内で表示するために、何とか指定サイズで簡単に切り出せないか試して、とりあえず以下の方法に落ち着きました。
(ちなみに、今のところコマンドラインから操作するため、マウスクリックでホイホイというわけではありません)
続きを読む

tmlib のイベント処理について

色々あって、少し Quintus に浮気してた時間もあったんですが、また tmlib に戻って来ました。
それで、前からイマイチよく分かっていなかった「オブジェクトのイベント処理」について、ちょっとだけ前進した部分を書いておこうと思います。

他のプログラミング言語で「コールバック」と言われるイベント処理方式については知っていたんですが、tmlib での「イベント処理」がどうなっているのかは良く分かっていませんでした。
それで、ようやく少しだけ理解できたのが「対象オブジェクトの on メソッドを使う」という事です。
今回は tm.display.StarShape で描いた星を左右に往復させるのに tm.anim.Tween を使ったのですが、往路が終わった後に復路の移動を開始する(tmlib での)方法を見付けるのに四苦八苦した次第です。
続きを読む

MariaDB を Debian6(squeeze) に入れるのが大変だった

知り合いから頼まれて MariaDB を Debian6 に入れたんですが、公式のインストール方法(apt リポジトリ追加 → apt-get update → apt-get install mariadb-server)では最後の方で止まってしまい、悩みました。
というわけで、うろ覚えながら方法をメモしておきたいと思います。

まずは公式の方法でインストールに挑戦します。
そうすると「subprocess installed post-installation script returned error」とかが出てエラー終了するはずです。(出ないで成功した貴方はラッキーですね)
続きを読む

引き続き tmlib の件

ここ何日か続けて tmlib でアクションゲームを作っていました。
その中で気付いた件を列挙しておきたいと思います。

・描画にマイナスの座標が使える
これは大変助かります。表示したいマップ部分の左上を (0,0) にしたい時に、マイナス座標が使えないと、そのための処理を場合分けとして作らないといけません。
でも、tmlib ではマイナス座標にも描けるのでマップに縁取りをしたい時でも直感のままにコーディングできます。
続きを読む

tmlib でひっかかった点

今日二回目の投稿です。
ここ2日ほど tmlib をいじくり回していたので、途中でひっかかった点を残しておこうかと思います。

・サンプルによっては動かない
結構いろんな場所でサンプルが公開されているのですが、tmlib のバージョン次第で動作しない場合があります。
バージョンが明示的に書いてあればいいのですが、無いとどれだか分からないという…
頑張ってクラスのネームスペース移動とかを修正すると動くかもしれません。
続きを読む

gitosis で新しいリポジトリを push する時

はい。相変らず不定期更新です。
今回は gitosis で新リポジトリを作って、そこに push する時に怒られた場合の対処です。

エラーメッセージはこんな感じです。

No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as ‘master’.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to ‘gitosis:repo.git’

で、結論としては「git push -u origin master」で OK です。
(もちろん、origin と master は各自で変更してください)

今回は検索でひっかかった次のサイトを参照しました。
サルでもわかる Git 入門:トラブルシューティング

postgresql のストアドプロシージャを移行する

postgreSQL のデータをスキーマ間で移行する作業の時に調べ回ることになったのでメモ。

プロシージャ(かトリガのどちらか)の一覧は「\df」で取得できる所までは、まあ大丈夫とする。
実際のソースは「SELECT prcsrc FROM pg_proc WHERE prcname = 'procedure_name'」で取得できる。

とは言え、これではソースのみであり、完全な CREATE FUNCTION 文ではない。
そこで pg_dump を利用する。

スキーマをダンプする時にオブジェクトを一緒にダンプするように、次の SQL 文を使う。
pg_dump --schema-only --oids -Fp db_name > filename」(必要なら -h、-U、-p 等も使う)
これで希望の CREATE FUNCTION 文を入手できる。後はエディタでちゃっちゃと編集すればいい。

もしかすると、適当な空のテーブルを作っておいて「-t tablename」を指定すると、余計なスキーマ情報が入らないかもしれない。…と思って試してみたら駄目だった。

あとは psql で入って「\i filename」で読み込めば OK となる。

Android Accessory 対応マイコンの調査

またしても興味分野がガラッと変わって Android ですよ。
だいぶ前から Android と外付けデバイスを接続できる Android Open Accessory という規格が出ていて、面白そうだとは思っていたのです。

で、改めて調べてみると、ベースは arduino を使っているのが多く、開発用ボードは数千円くらいでした。
それを買えば、面倒なことをしなくても開発がすぐ開始できるのは分かってはいるものの、いつも通り天邪鬼な性格が出て「マイコンで作れるんじゃないか?」ということで調査を始めたのでした。
続きを読む

altJSを始めるにあたって

いい加減 Webアプリに必須になってきた javascript を始めてみようと思ったが、素の JS は色々と面倒だという話を聞いた覚えがあったため、altJS と呼ばれる言語の方が良さそうだと思い、調査してみた。
何箇所かWebをサーフィンしてみて、結局のところ次のページが一番参考になった。

モダンな言語でHTML5を開発しよう! 俯瞰して理解するaltJSの比較 (前篇 – TypeScript, CoffeeScript, Haxe)
続きを読む

vagrant共有フォルダにmvしたらファイルが消えた…

docker をいじっていて、設定ファイルをメインマシンに移そうと思って、ディレクトリを vagrant 共有フォルダの /vagrant に移動したら、ディレクトリまるごと消えた…

幸いなことに、スクロールバッファにテキストが残っていたので何とか復旧できた。

使ったコマンドは「mv docker /vagrant/」だったので、もしかしたら「mv docker /vagrant/docker」としたら期待通りに動作したのかもしれない。

システム境界での作業には十分注意が必要だと痛感した出来事だった…