サンプルのうち SwingProject(「1枚もの」のスプライト画像から1人分を切り出し、キャラクターとして歩かせるデモ)を、プラグイン・ビルド不要でブラウザ上で動く HTML5 / JavaScript に移植しました。 スプライトシート(8キャラ×3モーション×4方向、32×48セル)は原作の
SwingProject/resのファイルをそのまま再利用しています。
- 遊ぶ: https://tobisako.github.io/work_JavaSwing/(リポジトリ直下の
index.htmlが紹介ページ、本体はgame.html)- 遊び方: PUT ボタンで配置 → マウスをぐりぐり動かすとキャラが追従して歩く。左クリックで向き回転、右クリックでキャラ8種切替、「切り出し」で1コマ切り出しデモ
- 原作仕様もそのまま: 300msタイマーのピンポン・モーション(0→1→2→1…)、2倍ズーム表示、座標計算式
- ブラウザ版になるのは SwingProject のみです(他のサンプルは従来どおり Eclipse でどうぞ)
Java Swingフレームワークを使った、Windowsアプリのサンプルです。Swingは、Androidと構造がとても良く似ているので、UI開発前に学習すると良いかもです。
・Eclipse 4.2 Juno
・Swing Designer(Eclipseプラグイン)
・Java
Swingを使う為に、Eclipseにソフトウェアを追加インストールして下さい。 #Swing環境の作り方は、ドキュメントに纏め、リポジトリに入れてています。 #(【飛峪】Javaウィンドウズアプリ(eclipse_Swing)_環境設定手順書.doc)
Eclipseのプロジェクトを数本入れています。インポートしてお使い下さい。
WebApiTest
WebAPI(Twitter)を使用し、つぶやいたり、ツイート一覧を取得するクライアント・サンプルです。
![]()
#ライブラリtwitter4jを使用しています。
WebScrapingTest
カラオケサイト(JOYSOUND)にWebアクセスし、取得したデータをスクレイピング・抽出するサンプルです。
このツールで、アーティスト名称データ(漢字・フリガナ)を5万件以上抽出しました。
![]()
#MySQLConnectorライブラリが必要です。
SwingProject
2Dキャラのデータは、だいたい以下の様な「1枚もの」の画像データに収められています。
![]()
このサンプルは、画像データから1人分を切り出し、キャラクターとして歩かせる(アニメーションさせる)プログラムです。
キャラその1
![]()
キャラその2
![]()
キャラその3
![]()
こんな感じです。
マウスをぐりぐり動かして、歩かせて楽しみましょう。(この画像は、無料素材を使用しています。)
300msタイマーで歩かせるアニメーション処理を入れています。マウスのボタンで、キャラの向き変更、キャラの種類変更が行えます。本プログラム実行時は、「SwingTest01.java」を起動して下さい。 他にも、「ThreadTest.java」を起動すると、スレッド起動実験が出来たり、 「SwingTest02.java」を起動すると、タイマーテストが出来たりします。
SwingKeyTest
マウスでは無く、キーボードからのイベントを受け付けるテストです。
カーソルキーを押すと、
![]()
↓
![]()
こんな風に、[LABEL]というラベルが移動します。(お好みで、好きな画像に差し替えて下さい。)
また、ログ出力で、キーボードのキーコードを調べる事も出来ます。
![]()
これで、好きなキー入力処理を記述できます。
詳しくは、「KeyListenerCls.java」を確認して下さい。
SwingDesiignTestProject
今iが1つ多い事に気が付きました(恥)
ArrayList()の動作確認プログラムです。「PUT」ボタンを押すとラベルが増えて、「MOVE」ボタンを押すと、全てのラベルが一斉に右に移動します。
![]()
動的に生成するラベルをArrayList()に追加し、移動させる際はリスト内の全ラベルに対して座標変更を行っています。
動的配列にクラス・インスタンスを格納する例として見て下さい。
(2016/9)