2007年02月21日

Eclipseで自作ツール開発 第16回 姉さん事件です

前回、初回しかチップの変更が反映しないとかいう問題があったけど、ChipLabelProviderのgetColumnImageから呼び出しているgetChipImageを細工したら動いた。

どういう細工かというと、チップ初回作成時のみ適用していた内部呼び出しのredrawChipを初回以外でも呼び出すようにして、さらにImageオブジェクトの生成削除を必ずやるようにしたらできたんだけど

[ビフォー]
private Image getChipImage(ChipDatum datum) {
    Image chip = imageRegistry.get(Integer.toString(datum.id));
    if(chip == null){
        chip = new Image(display, chipWidth, chipWidth);
        imageRegistry.put(Integer.toString(datum.id), chip);
        redrawChip(datum);
        chip = imageRegistry.get(Integer.toBinaryString(datum.id));
    }

    return chip;
}

[アフター]
private Image getChipImage(ChipDatum datum) {
    Image chip = imageRegistry.get(Integer.toString(datum.id));
    imageRegistry.remove(Integer.toString(datum.id));
    chip = new Image(display, chipWidth, chipWidth);
    imageRegistry.put(Integer.toString(datum.id), chip);
    redrawChip(datum);
    chip = imageRegistry.get(Integer.toBinaryString(datum.id));

    return chip;
}

毎回Imageオブジェクトを生成削除してたらパフォーマンス悪い気がするんだけど、いいのかなあ?iアプリに毒されてる?

謎だ・・・でも、これで少し進展したかも。
posted by LoyalTouch at 01:16| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月18日

Eclipseで自作ツール開発 第15回 変われラベルプロバイダ

現在のところ、自作ツールはチップデータを変更してもチップ部分に何の変更も起きない。本当は背景色を赤に指定すれば赤、オブジェクトを7にしたら7番のチップを描画するようにしてほしいのだが・・


続きを読む
posted by LoyalTouch at 23:46| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月15日

Eclipseで自作ツール開発 第14回 ComboBoxEditor活用

そういえば、チップの背景色やら斜め背景色は16色しか選べない仕様だ。0未満や17以上の数値を入力しようとしたらバリデータかなんかを仕掛けて、エラーを出すというのも手だろう。でもできれば選択肢を1〜16までに始めから限定したい。そうだな、たとえばコンボボックスみたいに・・・

WS000067.JPG
続きを読む
posted by LoyalTouch at 08:57| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月14日

Eclipseで自作ツール開発 第13回 リスナの利用でスマートな設計

前回に引き続き、ContentProviderを改造してTableViewerすっきり利用の巻だよー

前回はせっかくTableViewer利用のための情報満載の中身の濃ゆい引用元を引っ張ってきたのに、それに逆らって安易な設計をして満足していたんだけどね。

↓引用元
http://yoichiro.cocolog-nifty.com/eclipse/2004/05/tableviewer.html

このままじゃダメだと思って部屋を飛び出してきました。いや、うそだけど。

続きを読む
posted by LoyalTouch at 12:33| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月12日

Eclipseで自作ツール開発 第12回 ドメインオブジェクトを使いやすく

前回はひとまずEclipse上でアクションを使用可能にするようにしたんだけど、本来的にはこっからが本番。ドメインオブジェクトを改造して、ドメインオブジェクトにデータを追加したら自動的にTableにも反映するように変更するのだ。

そのためにはまず、現在単にList<ChipDatum>として作成していたドメインオブジェクトを、独自の追加・削除メソッドを持つ新しいクラスに変更しなくてはいけない。
続きを読む
posted by LoyalTouch at 18:32| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月09日

Eclipseで自作ツール開発 第11回 アクション追加の巻

今回はTableViewerの表と行の追加/削除を同期させるように、ドメインオブジェクトやらContentProviderやらを改造する......

と、いうまえに、まず始めにEclipse上で何らかのアクションを起こすと行の追加・削除が行えるようにアクションの設定をしなきゃ話が始まらないのだった。というわけで方針転換。俺のプラグインにアクションを追加するぞ!

続きを読む
posted by LoyalTouch at 15:08| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年02月02日

Eclipseで自作ツール開発 第10回 チッププレビューを動かそう

今までチップイメージのプレビューは固定でチップの左上のものを描画していたけど、ちゃんとプレビューになるようにチップの描画を変えようというのが今回の趣旨だ。続きを読む
posted by LoyalTouch at 11:01| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月31日

Eclipseで自作ツール開発 第9回 色対応

前回の状態から少し進化させよう。今度は、背景色と斜め背景色のデータに合わせてセルの背景色を変更するという仕様だ。これでもう少しプレビューが見やすくなったに違いない。

こんな感じで。


WS000062.JPG


続きを読む
posted by LoyalTouch at 02:25| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月27日

Eclipseで自作ツール開発 第8回 Cellを 編集するICellModifier

今回は無言だったCellをちゃんと編集できるようにする変。SwingのJTableでいうところのTableCellEditor実装編といったところか?続きを読む
posted by LoyalTouch at 23:17| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月26日

Eclipseで自作ツール作成 第7回 ContentProviderとドメインオブジェクト

さて。前回はとりあえずテーブルの行に数字をいろいろと入れるのと、作成したチップのプレビューを表示するのを実装した。今回は独自のContentProviderを実装して、チップ用オブジェクトを表に表示させるようにする。
これができると、チップ用オブジェクトの内容を変更したときに即座に表にチッププレビューの画像を変更できるようになったりする。らしい

続きを読む
posted by LoyalTouch at 19:22| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月18日

Eclipseで自作ツール作成 第6回 作りこめTableViewer

画像の作成処理も出来上がったところで、TableViewerをいったん作成してしまおう。前回はImageRegistryクラスのことをしゃべったあたりで力尽きてしまった。


続きを読む
posted by LoyalTouch at 22:54| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月17日

Eclipseで自作ツール作成 第5回 そうだ、Imageを忘れてた

前回フェルマーの最終定理なみ投げ捨てをしてしまったんだけど、あの尻切れトンボの理由はEclipse(というかSWT)では画像はちょっとクセのある扱いになっているからであり、あの行数でさらにImageについて語るのはくどいだろうという判断で2回に分割したのですよ。

さて、SWTでの画像の扱い方なんだけど、Java標準のAWTやら今までこのブログであつかってたDoJaやらとは全然違うややこしい取り扱いをしなきゃいけないようだ。識者(誰だよ)に言わせるとWindowsAPIを生で触っている感じらしい。よく知らないけど。(猫ちゃんならわかるんだろうか)

続きを読む
posted by LoyalTouch at 18:50| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月16日

Eclipseで自作ツール作成 第4回 使おうTableViewer

前回作った表あるでしょ。自作のテーブルコンポーネント。あれ、どうも物足りないというか、まったく持って使えない代物なんじゃないのという気がして俺の中の灰色の脳細胞がふて寝するところだった。ていうか何が物足りないか。

自作コンポーネント
WSM000063.JPG


今までの作業(EXCEL)
WS000057.JPG

変わってねーじゃねーか。

見づらいよぅパパー。せめて表を作成したらその横にどんなチップが生成されているのか、プレビューが見たいよぅ。

続きを読む
posted by LoyalTouch at 17:41| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月15日

Eclipseで自作ツール作成 第3回 テーブルを作る

ラベルだけでは楽しくない。今回はEclipseでテーブルコンポーネントを利用しよう。
これができたら、チップエディタにだいぶ近づくはず。

Tableの使い方・・・となると、Eclipseプラグインの作成方法以前に、まずツールキットであるSWTの取り回し方を学ぶ必要がある。これが勉強できるサイトは

http://cjasmin.fc2web.com/top_basic.html

ここの

http://cjasmin.fc2web.com/basic/table.html

Table編が俺個人としてはオススメ。ここはEclipseを使わず、SWTを直接利用しているので、Shellオブジェクト作成とかメインループとか妙なコードがくっついてるけど、Eclipseプラグインではここをプラグイン側が何なりととりなしてくれる。そういうわけで、引用先を参考にする必要のあるコードは shell.setLayoutより下、shell.pack()より上になるだろう。

続きを読む
posted by LoyalTouch at 23:35| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月14日

Eclipseで自作ツール作成 第2回 プラグイン始めの一歩

どどーん。今回から「EclipseでRPGツール作成」日記となりました。手始めにEclipseプラグインとはどんなもんだろうというところから始めたいと思うのですよ。
つーわけで、入門ページからいろいろチュートリアルを見ていく。

Eclipseをいじっててまず最初にお世話になるのは日本語のEclipseWiki。

http://eclipsewiki.net/eclipse/index.php?FrontPage

この中で、「新規プラグイン作成」っていう記事があるので、そこに書いてある手順をそのまま踏んでいけばOKっすわ。つまり詳しいことは

http://eclipsewiki.net/eclipse/?%BC%AB%BA%EE%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%A4%CE%BA%EE%A4%EA%CA%FD(3.1)

↑に書いているとおりにやれってわけだけど、それだけじゃ何の面白い記事にもなってないので実際にこちらも作ってみるぞ。ちなみに、俺の使っているEclipseはバージョン3.2なので、ほかのバージョンのEclipse使ってる人は多少手順が違うかも

続きを読む
posted by LoyalTouch at 01:31| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2007年01月13日

Eclipseで自作ツール作成 第1回 作ろう!チップエディタの巻

今回から微妙に心機一転

「iアプリでゲーム作成」

から

「Eclipseでiアプリのゲーム作成をするツールを作成

に変更になりました濃密金石文でござります。修飾関係複雑でございます。

iアプリもJavaならEclipseも同じJava、出力するデータ形式に親和性があるし(つってもDataOutputStream#writeUTF程度しか気にするものないけど)、その上ノウハウもある程度流用できるだろうと睨んでEclipseプラグインの作成に足を踏み入れたわけだけど、いったい今までの手作業の何が不満で何を作りたかったかというと・・・

続きを読む
posted by LoyalTouch at 00:12| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2006年11月29日

iアプリでRPG作成 第91回 本気で遊べ!遊び人実装

戦闘が一通りうまく動くようになったので、いっちょディープな方面の実装を手がけてみようと思う。このゲームでもっともディープと思われる部分は、味方キャラの一人、現地人のトゥンブクトゥの実装だ・・・

続きを読む
posted by LoyalTouch at 00:25| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする

2006年11月27日

iアプリでRPG作成 第90回 戦闘バグの落穂ひろい

十分現実逃避もしてみたところで、戦闘中に起こっているバグの総ざらいを始めてみることにする。
現在戦闘処理で起こっているバグといえば

  1. 敵全体を選択した魔法を使うと、なにもメッセージが出力されずに終了する
  2. 一番左上の敵を倒した直後、次のキャラが敵を選択しようとすると致命的エラーが発生して終了する
  3. 全滅した時、オープニング画面に正常に遷移せずになぜかモサメデスが4人いるパーティになってしまう。

こんなもんか。
続きを読む
posted by LoyalTouch at 16:45| Comment(0) | TrackBack(0) | ゲーム | このブログの読者になる | 更新情報をチェックする