GeoCitiesは、とうぶんJavaWebStartつかえそうにないし著作権の面でも、いろいろ難がありそうなので XREA.COM (エクスリア)に、おひっこししてきました。 GeoCitiesに、おいていたファイルは全部ここに移転させたけど、 これら旧サイトのコンテンツは、もう放置。 そして、ここではJava Web Startの解説をしながら戦略シミュレーションゲームを作っていこうと、おもいます。 ここは暮らしやすいところだといいな♪
伊集院たんの深夜ラジオをききながら眠っちゃった。起きたら、もう午前3時すぎ。 しょうがないから二度寝して5時10分まえにおきたよ。 NHK教育の漢詩紀行には、まにあったけど眠いよ。。。(=^_ _^)zzzoO○
その後あらたにJava Web Start用のコンテンツをつくったり、Java Web Start用のアプリケーションを作ったりしていたら、 いつのまにやら、もう、お昼。とりあえず、お昼すぎにGeoCitiesにアップしていたファイルは、すべて消去しちゃった。えへ。
Java Web Start用のアプリケーションやJNLPファイルなどをサーバに、まとめてアップしてみました。 .htaccessの設定に、ちょっと、とまどったけど、どうにかお昼ごろまでには無事に起動させることができました。 Java Web Startが、ちゃんと使用できることも、わかったことだし、これで一安心。あとは夜まで、そのソースについての解説文をかいたりしていました。ああつかれた。(=^_ _^)ぱたっ
上のリンクはJava Web Start用のアプリケーションです。
起動させるときは事前にJava Web Startをインストールしてください。
Java Web Startは、つぎのサイトからダウンロードできます。
Java Web Startのページ
Java Web Startのダウンロード
また上のふたつのアプリケーションで使用している画像は、
すべてゴルラァン堂の管理人、CIMAたんに描いていただいたものです。
著作権や使用に関する権利は、すべてCIMAたんが所有しています。CIMAたん、いつもありがとうございます♪☆⌒ヾ(=^・・^)vThanks!!
この日はリンクとイントロダクション(はじめに)のページをつくったよ。 これで、あとは目次のページと自己紹介のページをつくれば表紙に掲げるコンテンツは、ひととおり、そろうかな。
9日の日記に完成品へのリンクをはった「からっぽのウインドウ」に、 ちょっとレシピをつけてみた。 でも説明する文章って、なかなかむずかしい。。。使い方とプログラムのソースを書いたところで力つきちゃったよ。。。(=^××^=)うみゃ
きょうはMozillaをインストールしてみました。
インストールしたのはWindows版のMozilla 0.9.4。
そんなわけで、さっそくMozillaでJNLPファイルへのリンクをクリックしてみました。
でもMozillaたんは、このMIMEタイプをご存知ないようで、 「application/x-java-jnlp-fileってMIMEタイプのJNLPファイルを受け取ったけど このJNLPファイルは、なにかのソフトで実行すればいいの? それともダウンロードしてハードディスクに保存すればいいの?」って聞かれたよ。
で「そのMIMEタイプはJava Web Startで実行すればいいんだよ」って教えてあげました。 それ以後は確認のダイアログが表示されることもなくIEのときとおなじようにJavaWebStartが起動できるようになりました。よかったよかった。
で、それはともかくとしてIE6.0。
どうもリストのなかにリストを重ねると表示がくずれることがあるみたい。(=^・・、^=)みーみー
IE5.0や、このMozillaでなら問題なく表示されるのに。。。
とりあえず目次をつけてみたよ。 あと目次を書くにあたって、これからの大まかな予定もたててみた。
まず今週中にアプレットでつくったゲームをJava Web Start用に移植する。 で、そのあとはJava Web Start講座や、画像の表示や、スレッドについての解説を書きすすめる。 また、それと平行してゲームに音をつけたり、セーブ機能をつけたり、ネット対戦ができるように改良。 最終的に、このサイトはJavaとJava Web Startについての解説書みたいになればいいな。。。
きょうはフレームの部分とツールバーだけ、おおざっぱにつくってみた。 とりあえず天舞みたいなマルチウインドウタイプにしてみようかな。 では、このフレームのなかにインターナルフレームをもたせて、そのなかに地図や兵士を表示するようにしてみよう。。。
そんなわけでインターナルフレームをつくってみました。 で、それはいいんだけど、これから考えなおしたいことはユニットなどの描画方法について。
いままでのアプレット版においてユニットの描画は、 表示画面にスレッドをもたせて一定時間ごとに画面を更新させるという方法をとっていました。 つまりユニットが配置されているBoardクラスにたいして、Viewerクラスが一定時間ごとにアクセス。 ViewerクラスはBoardクラスから情報を得取して、それを画面に表示という方法。
この方法の利点は、BoardクラスはViewerクラスから完全に独立しているということ。 つまりViewerクラスはBoardクラスからデータを得取することはあっても、Boardクラスのデータを改変したりはしない。 またBoardクラスのデータが、なにか変化をおこしたとしても、 Boardクラスのほうから、それをViewerクラスに教える必要もない。 ゆえにBoardクラスのコーディングは、Viewerクラスのことなど、いっさい考えずに行うことができた。 これが、この方法の最大の利点。
しかし、この方法は、あまりエレガントとはいえない。
たとえば二つの問題点をあげることができる。
その一つはBoardクラスのデータが、なにか変化をおこしたとしても、
それは即座にViewerクラスには反映されないということ。
あくまでもVieweクラスのスレッドに設定された「一定時間」が経過するのを待たなければならない。
その二つ目は、たとえBoardクラスのデータが、なんら変化を起こしていなかったとしても
「一定時間」ごとに自動的にViewerクラスは画面を描きかえるということ。
マルチウインドウ化によってViewerが増えれば、この方法による負担はおおきい。
ま、そんなむずかしい話は、おいといて。JavaのLook and Feelはきれいだね。 まだ、なにも描画されてないけどインターナルフレームのうつくしさに、しばし、うっとり。
とりあえず上記の問題はユニットグラフィックスエンジンなるクラスを改良することで解決してみたいとおもいます。 このクラスはBoard上に配置された各ユニットクラスが所有しているクラスです。 その仕事はViewerクラスから呼び出されてグラフィックを画面に描画すること。
まず、このクラスに、これからたくさん開かれることになるであろうViewerウインドウ群の管理機能をつけくわえてみます。 そして、このクラスを所有するユニットクラスも、すこし改良してみます。 もしユニットに、なにか変化がおきた場合は、ユニットグラフィックスエンジンのメソッドを呼び出し、 そのメソッドがViewerクラスの描画メソッドを呼び出すという具合に。
この方法は、この方法で、いろいろ問題もふくんでいるのだけど、 まあViewerごとにスレッドをわりふったりするよりは、いくぶんましってことで。。。(=^_ _^)zzzoO○くーくー
上の日記を書いてました。ひさしぶりに長文を書くとつかれますね。やっぱり。 でも、おかげで、あたまのなかで形にならず、もやもやとしていたプランが明確になったから、よしとしよう。
きょうは数日前につくったからっぽのインターナルフレームのなかに画像を表示してみました。 ちなみに表示させる画像は武田騎馬軍団たん。
でもインターナルフレームのなかにもたせた「Canvasクラスの子クラス」の部分が、うまく表示されてくれません。 とくに複数のインターナルフレームどうしが重なると、奥のインターナルフレーム内のCanvasクラスが、 手前のインターナルフレームを隠してしまいます。。。(=^・・、^=)みーみー
そんなわけで、この日の午後はJava Tutorialのページをみて半日すごしました。 でも英文だから半分もわかんないや。 しかも読んでると、ねむくなるし。。。(=^_ _^)zzzoO○くーくー
きのうの問題、原因がわかりました。 おそらく、その原因はSwing系のクラスとAWT系のクラスの混在によるものでしょう。 Swing系のクラスとAWT系のクラスは相性が、あまりよくないのです。 このふたつのクラスをいっしょに用いると、さまざまな問題が起こることがあります。
きのう武田騎馬軍団を描画するために用いたクラスはCanvasクラスの子クラスでした。
CanvasクラスはAWT系のクラスです。
そして、そのCanvasクラスを所有させたインターナルフレームはJInternalFrameクラス。
JInternalFrameクラスはSwing系のクラスです。
なので武田騎馬軍団描画用クラスの親をCanvasクラスからJComponentに書き直しました。
もっとも書きなおすといってもpublic class TestCanvas extends Canvas
の部分を
public class TestCanvas extends JComponent
に変えただけですけれど。
右上の画像はJava Web Start用アプリケーションへのリンクになっています。
もしJava Web Startをインストールしてあれば画像をクリックするだけで日記中のアプリケーションが起動します。
Java Web Startのページ
Java Web Startのダウンロード
きょうはvi風エディタをインストールしてみました。 インストールしたソフトはWindows版のJVim 3.0(Japanized Vim)。 Ken'ichi Tsuchida Home Page
やっぱりDOSプロンプトを直接、呼び出せるテキストエディタは、つかいがってがいいですね。 さらに使いやすくするためにインストールしたのちautoexec.batファイルにクラスパスを書きくわえて、 DOSプロンプトの、どのディレクトリからでも起動できるようにしてみました。
ついでに、この日の深夜から翌日にかけてvi.batファイルも作ってみました。 プロンプトから「vi」と入力するだけで起動できるので、さらに便利になりました。 だけどもうbatファイルにおける引数の取りかたなど、DOSの知識は、あらかた忘れていることにも気がつかされました。 こうして無事、設定ができたのも検索エンジンのおかげです。便利な世の中になったものです。
とはいえ、WindowsXPが話題になっている世の中で、 いったい、おれは何をやっているんだろうという気にもなりましたけれど。。。 (だってJavaの統合開発環境って重いんだもん。っていうか開発環境Linuxに移行しようかな)
きょうはFrameクラスのメソッドsetIconImage を用いてフレームにアイコンを設定してみました。 そのあと、しばらくユニット描画用のクラスをいじってみました。 うまくいけば、あしたくらいまでには描画機能も完成しそうです。 (そもそもの予定より1週間もおくれちゃったよ。。。えへへ)
このサイトは10月8日に、ここXREA.COM (エクスリア)へと移転してきました。そして8日以前に、このサイトを設置していたGeoCitiesからは、その後すべてのファイルを削除し放置していました。
でも、せめて移転したよのお知らせくらいは掲げておこうとおもい、かつてのアドレスにこんなページをつくってみました。
武田騎馬軍団たんのHOME PAGE
この新しいサイトは、もし私に気力や根性があれば、2ch三国志・戦国時代板における武田騎馬軍団の歴史を書きつづるサイトになることでしょう。まあ、わたしに気力や根性があればの話ですけれど。(ちなみに旧サイトナポレオン戦記みたいなやつのカウンターは502で止まっていました)
たしか、この日はQuarterViewerクラスを作成していたはず。もう忘れちゃった。
QuarterViewerクラスを完成させました。 このクラスはBoardクラスのユニットなどを画面に描画するためのクラスです。
前日に作ったプロトタイプをコンパイラにかけたらエラーがいっぱい。 そのエラーをみながら関連するクラスを手直し。ひとつひとつエラーの原因をつぶしてやっとコンパイルが終了。 でもでも、なかなか思ったようには描画されないので、こんどはQuarterViewerクラスのメソッドを修正しながら、 なんども、なんどもコンパイル。やっと夕方になって満足のいくものができました。 まだ細かい修正点は、たくさんあるけど、きょうはこれでおしまい。寝よう。。。
きのう作った描画プログラムの手直し。 まず、いいかげんだった画面に描画する桝目の数の算出式を厳密にしてみました。 これで、きのうまでは画面の中心に描画されるはずの桝目が 場合によっては左に1桝ずれるという現象が解決しました。
きのうテスト用にはずしていたメディアトラッカーをふたたび実装してみました。 これを実装することでソフトの起動時に画像オブジェクトを読みこむことができるようになりました。 これでウインドウの中身が描画されるまでの待ち時間が感じられなくなりました。
ところでSwingには最初からダブルバッファの機能が実装されているのでしょうかね。 ダブルバッファ用のオフスクリーンに描画してから表に転写という手順を経なくとも画面にちらつきなどがないのですけれど。 ただ単にうちの環境でそう見えているだけなのでしょうか。 まあ、よくわかないけど、とりあえずオフスクリーンからの転写をやめて直接、表のスクリーンに描画するようにしてみました。 ほかの環境で問題があるよなら、またあとで戻そう。。。
右上の画像はJava Web Start用アプリケーションへのリンクになっています。
もしJava Web Startをインストールしてあれば画像をクリックするだけで日記中のアプリケーションが起動します。
Java Web Startのページ
Java Web Startのダウンロード