[6]こんにちは、オブジェクト倶楽部の水越です。今回は、前々回と前回のソースコードの解説をしますね。Papervision3DとBox2DFlashAS3を連動する部分、ドラッグ&ドロップをする部分に注目して説明します。今回のサンプルhttp://files.getdropbox.com/u/227796/flex_pv3d/6/src/Sample.swfhttp://files.getdropbox.com/u/227796/flex_pv3d/6/src/Sample.asサンプルとそのソースコードです。解説用に3行(l.61、l.62、l.65)だけ変えました。箱をドラッグ&ドロップするとドラッグ&ドロップ用の平面オブジェクトが見えるようにしました。ソースコードの構成ソースコードはSample.asという164行のファイルが1つです。その中にメソッドが8個あります。初期化関係がコンストラクタSample、init_box2d、init_papervision、createBoxの4つで、イベント関係がupdate、pressed、moved、releasedです。Papervision3DとBox2DFlashAS3を連動させる三次元の表示をするPapervision3Dと物理計算をするBox2DFlashAS3を連携させて、三次元でブロックを落としたり転がったりできるようにしています。createBoxメソッド(l.90〜l.116)でPapervision3DのCubeオブジェクトを作成し(l.107)、Box2DFlashAS3のBoxオブジェクトを作成し(l.100)、二つを関連付けておきます(l.114)。あとは画面の更新をするupdateメソッド(l.39〜l.58)で、Box2DFlashAS3のBoxオブジェクトの位置に合わせて、Papervision3DのCubeオブジェクトの位置と角度を変更するだけです。注意点として、Papervision3DとBox2DFlashAS3は座標の上下が逆なので、下記のように180度回転させて、上から下に落ちるようにさせる必要があります。ドラッグ&ドロップ今回のドラッグ&ドロップは実は結構面倒です。Box2DFlashAS3に関しては、サンプル[*1]を見るとドラッグ&ドロップをできるようになっているのですが、そのソース(Box2DFlashAS3_2.0.2_/TestBed/Test.as)はなかなか複雑なコードなのです。それでもマネをするだけですので、ここではPapervision3D側の書き方を説明します。私なりの工夫の結果、Papervision3Dでドラッグ&ドロップをする時にはドラッグ&ドロップ用の平面オブジェクト(plane_for_drug)を配置するというコードが一番良い感じになります。plane_for_drugを使わずにPapervision3DのCubeオブジェクトにマウスイベントリスナーを付けると、マウスを素早く動かした時にドラッグ&ドロップが解除されたり、ドロップしたはずがマウスにくっついたままだったりと、困ったことが起こってしまうのです。pressedメソッド(l.118〜l.140)はマウスボタンを押した時に、movedメソッド(l.142〜l.153)はマウスを動かしたとき、releasedメソッド(l.155〜l.161)はマウスボタンを離したときに使われます。体)にはreleased(l.36)のそれぞれをイベントリスナーとしてつけています。ドラッグ&ドロップを開始する範囲は狭く、終了する範囲は広く、オブジェクトごとにきめ細かくイベントリスナーをつけるのが自然にドラッグ&ドロップさせるコツなのですよ。まとめ第四回、第五回のソースコードを解説しました。ドラッグ&ドロップ用の平面オブジェクトは普段は隠しておくのですが解説のために見えるようにしてみました。次回から、また別のライブラリと組み合わせてみましょう。http://ObjectClub.jp/ml-arch/magazine/300.html_______________________________________________________________________この記事への評価にご協力をお願いします。URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用のブラウザに表示されれば投票完了です。関係なさそうに見えますが先日、お客様先のオフィスを訪ねました。雑談の後にコーチングセッションが始まり、前回宿題となっていたことのふりかえりからスタートだったのですが、なんと!驚異的に仕事が進んでいるではありませんか!?コラムを読んでくださっている皆さん。なんとアレ!?いよいよコーチングが終わる時間が迫ってきました。「このスピードはどこから来たんですか?」と不思議に思って質問してみると、思いもよらない答えが返ってきました。彼が指差したのは、買ったばかりのパソコンです。言っておきますが、処理速度の問題じゃないんですよ。分いいんだよね〜」「タフなメールの返事も、なんだか少し気分良く書けてるかもしれない!?」なんて、にんまり笑顔で話してくれました。実はこれって、とっても大事なことなんですよ。次はその解説をしていきたいと思います。人は気分に影響されるコーチングのアプローチのひとつに、自己信頼感を高め目標達成をスムーズにするための取り組みのプログラムがあります。自己実現やコミュニケーションに関係なさそうなものへの取り組みがアセスメントとなっていてそれに取り組みます。お客様に何が起きたのかを考えてみると、「たった」最新式のパソコンを手に入れたことだけように見えますが、そのおかげで、実に気分良く仕事が出来ており、その結果、普段のちょっとしたエネルギーが要りそうな仕事にも積極的に向き合うようになったようですし、気分がいいので周囲とのかかわりにもゆとりが生まれます。・めがねや髪型を変えたら、気分が変わったコーチングの父といわれたトーマス・レナード氏は「自分本位」という言葉でこんな考え方を紹介しています。創造的で優秀な人間になるためには、「自分本位」でなければならない。自分自身が進化するためにも、これは大事なことだ。するには、くもりのない目で問題を見すえる必要がある。自分自身の心の声に耳を傾け、他人の要求は後回しにしよう。意味に取られる場合があるが、けっしてそんなことはない。かけないという意味である。しろいにすることとは違う。−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−自分の環境を整えたりイライラを手放すことによって、気分良く仕事が出来るのであれば、試してみる価値はありそうですよね。まとめ今日のコラムを読んで「よし、アレを買うぞ!」と思われた方もいるかもしれませんが、無駄遣いの奨めではないんですよ。自分の気分に悪い影響を与えているものを見直すということです。先日メジャー2,000本安打を達成したイチロー選手は、毎日同じような日課をすることで有名ですが、決して自分に妥協せずにご自分の「お気に入り」を貫く人としても知られています。http://blog.goo.ne.jp/cs_jenniffer/_______________________________________________________________________この記事への評価にご協力をお願いします。URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用のブラウザに表示されれば投票完了です。ホントのところ今週は「9月9日は何の日?」のホントのところ。今日は2009年9月9日!ゾロ目って、なんとなく特別な日のような気がするから不思議ですよね。そんな今日9月9日は、いろんな記念日にもなっているそうです。それ以外を連想します。