Date:  Wed, 31 Mar 2010 14:27:46 +0900
Subject:  【オブジェクト倶楽部: 2010-13号】
X-Mail-Count: 00331

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.321 2010/03/31

■ I N D E X
┃
┣【Topics】『4q CON 2010』開催のお知らせ
┣【プログラミング】Flex 3 SDKとPapervision3Dで三次元を遊ぶ [11]
┣【プログラミング】IzPackで作るクロスプラットフォームインストーラ [8]
┗ 編集後記

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 『4q CON 2010』開催のお知らせ
  〇 〇━━━━━━━━━━━━━ ━━・ 

「ありがとう」と君が言ったから、4月9日はヨンキュー記念日です。
噂ではヨンキューとアジャイルとの親和性に注目して、『Agile Japan 2010』
なるイベントも同日開催されるとかされないとか。
先に『Agile Japan 2010』に申し込んでしまったあなた、懇親会の後の合流も
歓迎します。
「ヨンキュー!」この素敵な感謝の言葉を祝う記念の日、この佳き日を今年も
一緒に祝いましょう♪

日 時: 2010年4月9日(金)
場 所: 旬鮮市場 でり坊 五反田店 ( http://r.gnavi.co.jp/g292702/ )
お申込: http://chosuke.rumix.jp/main.aspx?g=360e4e39b83641316
主 催: ヨンキュー推進委員会

ふるってのご参加をお待ちしております。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【プログラミング】Flex 3 SDKとPapervision3Dで三次元を遊ぶ [11]

★ 今回のサンプル
http://wonderfl.net/code/3d9fc07866439b1c44b6683262718f7fbecb05cf
サンプルはwonderflに載せています。コマをドラッグ&ドロップして移動した
り、コマを振ってひっくり返したりできますよ。

こんにちは、オブジェクト倶楽部の水越です。また卒業製作のどうぶつしょう
ぎを作っていきましょう。今回のサンプルでひとまず一応がんばれば遊べるよ
うになりましたよ。

★ 遊び方
コマはドラッグ&ドロップで動かすことができます。ドラッグ中にマウスを前
後に振るとコマの向きが逆になり、ひよこの場合は左右に振るとひっくり返っ
てにわとりにすることができます。これで最低限の動作は出来るようになりま
した。
今のバージョンでは便利な機能はまったく実装していないので、動かしてはい
けないところに動かしたり、相手のコマを動かすこともできちゃいます。でも
二人で仲良くルールを守れば遊べますよね。

★ ドラッグ&ドロップ
コマを動かすためにドラッグ&ドロップを実装しました。ドラッグ&ドロップ
はこの連載の第5回と第6回でも扱いましたね。三次元空間でドラッグ&ドロッ
プをするときは二つのコツがありました。一つ目は、ドラッグ&ドロップ用の
補助平面を使うこと。二つ目は、開始する範囲は狭く、終了する範囲は広く、
適切にイベントリスナーを付けること。今回もこの教えを守って実装していま
す。前と少しだけ違うのは、どうぶつしょうぎの盤がxz平面に平行に置かれて
いるので、補助平面も同じように作っています。少しだけy軸方向に移動して、
常にコマとカメラの間に補助平面があるように調整してあります。

★ マウスジェスチャー
取ったコマを自分のコマにしたり、ひよこがにわとりになれるように、コマは
回転したりひっくり返れなければいけません。ここはどうするか悩んだのです
がマウスジェスチャーで操作することにしました。マウスジェスチャーと言っ
ても難しいことはなくて、マウスの軌跡を記録しておいて、その軌跡によって
実行する処理を選ぶだけです。ソースコードを見てみましょう。

l. 93:mouse_points.unshift(new Number3D(x, y, z));
...
l. 99:if (go_and_back(mouse_points, 'x')) {
l.100:    select_koma.reverse();
l.101:}
...
l.108:public function go_and_back(points:Array, attribute:String):Boolean {
l.109:    var d0:Number = diff(points, attribute);
l.110:    var d1:Number = diff(points, attribute, 1);
l.111:    return d0 * d1 < 0 && Math.abs(d0) > 10 && Math.abs(d1) > 10;
l.112:}

mouse_pointsという配列にはマウスの軌跡の三次元座標が入っていて、マウス
が動く度に配列の先頭にマウスの三次元座標が追加されるようになっています
(l.93)。l.99で呼んでいるgo_and_backメソッド(l.108)では、マウスのx座標が
行って戻ったような動きをしているかどうか調べています。d0とd1が二回分の
マウスのx座標の変化量で、d0とd1の正負が逆であり(d0 * d1 < 0)、どちらも
絶対値が10を越える(Math.abs(d0) > 10)時に行って戻ったと判断しています。
その時には選択しているコマをひっくり返して(reverse)いますね(l.100)。

★ まとめ
一通りの操作ができるようになったので早速息子と遊んでみたのですが、一局
対戦したらマウス操作にくたびれてしまったので、パソコンは閉じて普通のど
うぶつしょうぎで続きをしてしまいました。まだまだ操作性が悪いですねぇ。
次回からはコマを取ったり、動ける所にしか動けないようにしたり、ルールを
つけていきましょう。(水越)

★ これまでの記事
1) /ml-arch/magazine/278.html
2) /ml-arch/magazine/283.html
3) /ml-arch/magazine/289.html
4) /ml-arch/magazine/295.html
5) /ml-arch/magazine/300.html
6) /ml-arch/magazine/305.html
7) /ml-arch/magazine/311.html
8) /ml-arch/magazine/317.html
9) /ml-arch/magazine/322.html
10) /ml-arch/magazine/327.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【プログラミング】IzPackで作るクロスプラットフォームインストーラ [8]

こんにちは、村上です。
前回は、ショートカットを作成する機能を説明しました。今回はIzPackで作成
したjarファイルをラップしたexeファイルの作成について説明します。

● izpack2exe
IzPackにはIzPackで作成したjarファイルをラップしたWindows用のexeファイル
を作成するizpack2exeというコマンドラインツールが用意されています。
izpack2exeの実行は非常に簡単です。intall.jarがカレントディレクトリに存
在する状態でコマンドラインから下記のように実行するだけです。(実際は改行
せずに1行で入力してください)

 > izpack2exe --file=install.jar
   --with-7z="C:\Program Files\IzPack\utils\wrappers\izpack2exe\7za.exe"

これで、カレントディレクトリにinstall.exeが作成されます。install.exeを
ダブルクリックしてみてください。自己解凍が行われインストーラが起動しま
す。
尚、izpack2exeを実行するにはizpack2exeにパスを通すかizpack2exeへのフル
パスを指定する必要があります。izapck2exeはIzPackのインストールディレク
トリ配下の\utils\wrappers\izpack2exe\izpack2exe.exeにあります。通常は
C:\Program Files\IzPackがIzPackのインストールディレクトリです。また
izpack2exeは7-Zip[*1]を使用するためオプション--with-7zで7-Zipの実行ファ
イルのパスを指定します。IzPackをインストーラを使用してインストールした
場合は7-Zipを別途インスールする必要はありません、C:\Program Files\IzPack
\utils\wrappers\izpack2exe\7za.exeとしてインストールされています。

build.xmlに下記のように記述して実行してください。コンパイル、jarファイ
ルの作成からexeファイルの作成までを行えます。

--- build.xml(変更部分のみ抜粋) ---

<target name="izpack2exe" depends="compile"
    description="Make executable file on Windows">
    <echo message="Makes the executable file on Windows"/>
    <exec dir="${dist.dir}"
       executable="${izpack.dir}\utils\wrappers\izpack2exe\izpack2exe.
exe" >
        <arg value="--file=install.jar"/>
        <arg value="--out=install.exe"/>
        <arg value="--with-7z=${izpack.dir}\utils\wrappers\izpack2exe\
7za.exe"/>
    </exec>
</target>

------

● まとめ
今回は、IzPackで作成したjarファイルをラップしたexeファイルの作成につい
て説明しました。IzPackには今回使用したizpack2exe以外に、Mac OSX用にapp
ファイルを作成するizpack2appやJava Web Startのjnlpファイルを作成する
izpack2jnlpも用意されています。
今回まででinstall.xmlを記述してインスーラを作成する方法・ショートカット
の作成やexeファイルの作成を説明してきました。IzPackにはこれまでの連載で
紹介した機能以外にインストーラで使用するパネルをカスタマイズしたり、イ
ンストーラの実行時に特定の処理を行うような指定も可能です。
クロスプラットフォームのインストーラが必要な方はIzPackを候補の一つとし
てみてはいかがでしょうか。(村上)

[*1] http://www.7-zip.org/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人のナガタユウコです。先週の三連休から高熱が続き、つい
にメルマガ編集を事務局長にお願いするという失態をおかしてしまいました。
事務局長はじめ執筆陣の先生方、そして読者のみなさまにはご迷惑をおかけし
申し訳ありませんでした。数日間高熱が続くのは久しぶりだったので、ガラに
もなく弱気になったりもして・・・健康の大切さを実感した1週間でした。みな
さまもご自愛ください!(ナガタユウコ)

*** オブラブ2010カレンダー公開 ***
4月「プロジェクトゲーム」
/special/#calendar
教育や学習の道具として、ゲームを使うという方法があります。教育のために
作られたゲームもありますし、昔からあるゲームを遊ぶことで現実に役立つ気
づきを得ることもあります。ゲームで遊んでいるとき、勝つために集中して考
えたり、楽しくて繰り返したりすることが、学習の効果を高めます。
ソフトウェア開発の仕事をゲーム化して、仕事についての学習に役立てたいと
思っています。それも、コンピュータを使わない、紙やカードやサイコロで、
ひととひとが交わりながら遊び、そこから知識や経験、気づきが得られる、そ
んなゲームがいいなあと思っています。そういう発想から作ってみたゲームを
公開しているので、よかったら試してみてください。
それと、ゲームを作っていて一番に役立つのは、ゲームを作る過程そのものが
仕事についての学びになるところです。大事なポイントは?どんなトレードオ
フが存在するのか?どうしたら網羅できる?そうしたことを考えるツールとし
て、ゲーム作りというのもいいんじゃないか、最近はそんなふうにも考えてい
ます。(やっとむ)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は         ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒/community/object_ml/help/
〇 免責事項、過去の記事は   ⇒/community/object_ml/
■ 発行:オブジェクト倶楽部 ⇒http://ObjectClub.jp/
Copyright (c)2010 オブジェクト倶楽部. All Rights Reserved.
powered by Eiwa System Management, Inc.