Graphics2D版とJavaFX版の違いについて

Graphics2D版とJavaFX版の違いについて

○描画処理の違い(1)
Graphics2D版では描画エンジンを自前で作成していた。
JavaFX版では、描画はJavaFXの仕組みの中で描画している。
(元々、処理速度低下にならないか懸念していたが、結果は問題なし)

○軽量化
Graphics2D版では、Componentを継承した部品群は利用せずに、
独自のオブジェクト(スプライトオブジェクト)を作成し、
Objectを継承していた。
Componentを継承した部品を多用すると、メモリの面、スピード面で、
不利と感じていた(検証はしていない)。

そのため、必要な機能のみに絞ったオブジェクトを作成することで、
軽量化を図っていた。
それが できた(実現できた)という背景もある。

○描画処理の違い(2)
しかし、JavaFX版ではその方法(独自オブジェクト管理)が使えないことが分かる。
JavaFXでは、Canvas-GraphicsContextで、
似たような仕組みを作ることは可能だが、同じではなかった。
回転/拡大縮小が、そのCanvasp全体に対して行われ、
途中の座標変換計算が、すべてサマリされた状態になるだけの模様。

Graphics2D版では、回転させて描画、また別の回転させて描画ということが可能だったが、
JavaFXでは、これができない。軸が全体的にずれてしまう。

自前で描画することを断念。
Nodeオブジェクト(Graphics2D版ではComponentに相当)を継承させ、
描画をJavaFXに任せる方式に変更。

○JavaFXアプリケーションスレッド
JavaFXでは、描画はJavaFXスレッドの中で自動で行われる。(最大1/60秒)
また、JavaFXスレッド以外から、JavaFXへのセッターメソッドなどを利用して値の変更を行うと、
Exceptionが発生する場合がある。

定期的な処理が必要な場合、定期的に呼び出されるタイマーを作成し(JavaFX用の)、
JavaFXスレッド上で処理を行う必要がある。

〇参考にさせていただいたサイト
http://krr.blog.shinobi.jp/
軽Lab。非常に参考にさせていただきました。
ありがとうございます(_ _*

シェアしていただけるとうれしいです。

音楽や動画GIFを扱う際の注意点

音楽や動画GIFを扱う際の注意点

javax.sounndパッケージではMIDIやWAVEを取り扱うことができる。
動画GIFはjava.awtの辺りで取り扱っていたと思う。
(何年も前に試してたので、記憶が・・・)

この動きのあるものは、実は、裏でスレッドとして動いている。
スレッドで動いていることを知らないと、思わぬ落とし穴に遭うことになる。

スレッド自体は、動きを実現するために(画像を変更する/音楽を鳴らすために)
存在しているものと思われる。
(そういう仕組みであることを知らなかった…)

MIDIオブジェクトなどを、closeせずに、
そのまま次のオブジェクトを生成すると、元々のMIDIオブジェクトが生き残ったままとなる。
スレッドも残ったままとなる。(複数スレッド存在する状態となる)

スレッドと対象オブジェクト位が残る分には、問題ないレベルかもしれないが、
それに関連する(紐ついた)オブジェクトも生きていると判断され、GC対象とはならずに、他の多数のオブジェクトがメモリから消えない状態となる。
つまり、メモリリーク状態となる。

深刻になると、OutOfMemoryErrorが発生する。

実はSKK3.1FXを作成する際に、分かったことである。
つまり、SKK3.1(Graphics2D版)も同様の現象が起きている。
(問題は出にくいが、修正する予定です)

SKK3.1FXでは、実際にOutOfMemoryErrorが発生した。
JavaFX版は、メモリ消費量がGraphics2D版に比べて、高い傾向にある。
(こちらは別途、覚え書きを書くかも)

そのためJavaFXは、OutOfMemoryErrorが発生する確率が高かった。(他の要因もあるかも。他も修正しているので)
3周目に突入すると、異様に遅くなり、最後はメモリを食い潰してしまった。

まとめると、
スレッドが作成されているもののクラスの取り扱いは注意が必要である。
ちなみにJavaFXでは専用のスレッドで管理しているため、改善しているものと思われる。

(もう少し追記)
javax.sounnd等はJavaFXの仲間ではない。Javaの拡張機能の模様。
独自のスレッドを作成している。

シェアしていただけるとうれしいです。

シューティングゲーム編 JavaFX対応

こんばんわ!

シューティングゲーム編、JavaFX対応が完了しました!

簡単に一言で言いますが、大変だった( ´▽`*)

当ホームページでも公開しました!
シューティングゲーム編のページから
SKK3_1_FX.zip
を探してください♪

話がちょっとずれるような感じですが、
大変さを、お伝えする必要がある。
わたしは そう感じています。

第4弾。
3Dにしようと思っていましたが、
JavaFXに変更します。

大変というか、JavaFX、そのものをお伝えしていく必要性があるかと思っています。

ここだけの話、JavaFXがなんぼのもんじゃ~!と思ってました。

しかし、しかし、ありですわ。いいところもあり、わるいところもありますが、慣れるしかないですね。
とりあえずは慣れた( ´▽`*)

大変だったところは、また、別の機会に書けたら・・・と思っています(忘れなければ)

とりあえずは、JavaFX対応版SKK、見てみてください!

シェアしていただけるとうれしいです。

3Dゲームでいくかぁ~!

こんにちわ!

すいません。普通の話しことばで。

いろいろと何をやるか悩んでいるのですが、
3Dでいこうかな。と思います。
それなりに楽しくできそうだし。

ただし、疑似3Dです。(本格的な3Dはやる気ないです。後述します)

実は今までのプログラミングをカスタマイズすれば、それなりにできました。(立体的に見てるところは)
作ったプログラム(Classファイル)は、ここから、良ければみてくださいね♪

ただし、プログラム(Javaファイル)はまだ非公開っす。お見せできるようなレベルではないというのが理由です。
(お見せしたくない、隠したいという理由ではないです。お見せできるような作りをしていないです。いつか公開していきます)

「そこでは書かんだろ!」ってところで、直書きしちゃってるので。試しただけなので。はい。

ホントは第4弾は、カードゲームとか考えていたんですが、地味ですよね。きっと・・・。
路線変更してみます。

がんばっていきます!

さて、本格的3Dの話をします。
3Dといえば、Java3Dというのがあります。オラクルのサイトでAPIで提供されています。
一時期、わたしも遊んではいたんですが、挫折したりで・・・(そこか?!)。
最近、使っている人、いるのかな・・・。どうも、最近はJava3D、更新されていないのではないかと思います。Sunの時代から更新されてなさそう。
3Dやるなら、C系かな~と勝手に思うとこもあったり、、
3Dまで手を出したくないな~といったところもあります。

UnityやC#が気になっている、今日この頃です。

シェアしていただけるとうれしいです。

タイムセールやってます。

タイムセールは終わりました。
ありがとうございました(_ _*

タイムセールの対象になったは初めてだったと思います。
あと、たまに、8%引きで2週から4週ほど割引があったり、
30%引きの時もありましたね。
数か月に一回ほどの、たまにですけどね(^^;

(終わりました)
タイムセールやってます。
20%引きですって。

よかったら、買ってくださいね♪

しかし、あと4時間くらいですが(^^;
気づくの遅かった(^^;

ただいま、19:24です。

リンク先はこちら♪

 

シェアしていただけるとうれしいです。

MAC等利用しているユーザーの方への注意点ページを作成しました。

おはようございます。

MAC等利用しているユーザーの方への注意点ページを作成しました。

MACなどでの注意点

久々に、エンコーディングやファイルパスなど、悩まされました。

本業ではよく悩まされるんですけどね~。いやぁ、ここでもこんなことになるとは・・・って感じでした。

他にも注意点等、ありましたら、ご連絡ください。
よろしくお願いいたします(_ _*

シェアしていただけるとうれしいです。

パズルゲーム編 第2版 発売になったようです♪

おはようございます!

第2弾、パズルゲーム編、発売になったようです(^^)

アマゾン上、まだ、表紙は変わっていませんが、水色からピンク色に変えています。

値段も1496円から1080円と、400円以上値下げしています。
(ページ数を圧縮した分、安くできました)

ゲームの出来も本の出来も、かなり良く仕上がっていると思います。

ぜひとも、試してみてくださいね♪(^^)

よろしくお願いいたします(_ _*

アマゾンの販売ページはこちら♪

アマゾン以外で購入を検討している方は、本屋さんに聞いてみてください(^^)

ISBN978-4-86543-726-3
Javaでゲームを作ろう2 - パズルゲーム編 -
デザインエッグ株式会社

 

シェアしていただけるとうれしいです。

パズルゲーム編 第2版 少し遅れそうです。

おはようございます(^^)

パズルゲーム編 第2版 少し遅れそうです。
Amazon側の審査に時間がかかっているとのこと。
なんでも、出版する本の数が増えているそうな(・・*

改善されることを祈りつつ、待つしかないですね(^^;
1週間程度、様子を見てほしいとのこと。

とりあえずウオッチしつつ、公開されましたら、サイトの方の修正等も行っていきたいと思います。

第2版でのモジュールの修正とテーマ曲の豪華版(♪?!)は、すでにアップしてあります。
(PZL_SOUND_TRACK.zip)
テーマ曲の豪華版は、よければ聴いた感想などもお聞かせください♪

また、ゲームに関して、本に関して等、
いろいろなんでも声がききたーーーーーーーい!
なかなか少ないのが、実情で(^^;

、い
待ってます♪♪♪(^^)

ぜんぜん話がずれてしまいますが、
もぐらのタイトル画面(基本編のマウスゲーム編)も見てみてください。
あっちもすごいです。
なにがすごいか?って?
とにかく圧倒されます(*´▽`*)

今日はおひなさんですね。
よい週末をお過ごしください♪(*^^*)

あっ!あと、外観(テーマ)を変えてみました。
こちらの方が見やすいのではないかと思っています。

より良くなるように、やっていきたいと思います。

シェアしていただけるとうれしいです。

見つけましたか~?

おはようございます。
今日は金曜日ですね。プレミアムフライデー、数日前に認識しました。わたしは普通に働くことになりそうですけどね。

そろそろ花粉が本格的に飛び出す頃ですね。
わたしは花粉症持ちですが、今のところはなんともなく。いつ来るのかと、思っているところです。できれば、なにごともなく(花粉とたたかうこともなく)過ごしたいところです。

さて、少しずつですが、サイトの充実を図っているところですが、昨日からjavagameのページに画像を追加しました。
登場キャラを一斉に載せてます。
その真ん中に、しゃちほこがいるのが わかるでしょうか?

SKKバージョン3以降に潜む隠れキャラです。
もし、まだ見ていない方は、探してみてくださいね。

最終面に潜んでますよ( ̄∇ ̄*)ゞ

ちなみにバージョン3はほとんどAki2氏のアイデアによるものです。わたしはプログラマやってました。
って、どっかで書いたっけ??書いたような気がしてきた(´∇`*)

シェアしていただけるとうれしいです。

SKKバージョン3.1アップ!公開しました♪

おはようございます♪

SKKバージョン3.1アップしました!

画面拡大バージョンです。
動的に大きさを変更しています。

迫力あるSKKを楽しめると思います。

動的に大きさを変更しているため、
少し重くなっているかもしれません。
(うちのマシンではたまにコマ落ちします。i5-4210M)

やってみてください♪ ね♪♪(^^)

ページはこちら♪

 

 

シェアしていただけるとうれしいです。