・・AS3

アクションゲームの作成ログ(リセット機能追加)

状況 AS3にはデストラクタはないようなので、オブジェクトが消える時に呼ぶ関数:OnDestructを追加し、そこでイベントリスナを解除するようにして、これでリセットが上手く行くようになった。 後でライフ表示や画面のスクロールを行うために、「ゲームステー…

アクションゲームの作成ログ:ジャンプの追加

状況 Box2Dの衝突時の法線の取得方法がわからず四苦八苦。ようやく、b2Manifoldが衝突時の情報を持っているということがわかったが、衝突してるのにGetManifoldCount()が0(つまり持ってない)という状況があり、「0の時は衝突として扱わない」とすることで…

アクションゲームの作成ログ

状況 だんだんと仕事が忙しくなってきて、休日も趣味のコーディングがあまりできなさそう。最悪、夏の終わりまでこんな状況が続く。 とりあえず、他のコリジョンに触れたらOnContactを呼ぶ、という処理を追加した。 これで弾を消せるようになったが、すぐに…

アクションゲーム:コード整理と可変長フロア

状況 使ってないパラメータなどが残っているものの、ある程度コードの整理はできた。残りは何かのついでにやろう。 地形に関しては、「右端、左端、上端、下端」を指定する方法が自分としてはやりやすいので、それでいくことにした。コリジョンの方の設定は…

アクションゲームの作成ログ

状況 なんとか、ここに載せられる程度には整理できた。まだ不十分だけど。 プリミティブ描画を廃して、AAベースの描画に移行中。これだけでもなんだか雰囲気が変わる。 あと、位置だけでなく回転もスプライトに反映させるようにした。そのため、弾が回転して…

アクションゲームの作成ログ

状況 とりあえず、左右キーによって「プレイヤー表示の反転(scaleXによる反転)」「弾の発射方向の反転」ができるようにした。キー入力用の関数内部に直接埋め込んでいるのは問題だが、まだプロトタイプだからそこはスルー。 つづいて、プレイヤーが移動で…

弾の発射(仮)とカテゴリの適用

状況 弾もAAを指定して動かせるようにした。さらに、http://cs3book.flashoop.jp/wiki/index.php?%E7%89%A9%E7%90%86%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%B2%E3%83%BC%E3%83%A0を参考に、userDataを使って物理…

swfをgoogle page creator経由ではてなダイアリーに埋め込んでみた

上手くいったのでメモ。swfはすでにできているものとして、その先の手順。 Google Page Creatorにswfを上げる http://pages.google.com/にログインして、右側のUploaded stuffの「参照」から、上げるswfを選ぶ。上げ終わったら、リンクができるので、これを…

アクションゲーム作成ログ

状況 そろそろゲームを作るべく、まずはAAの表示方法を調べる。 http://hakuhin.hp.infoseek.co.jp/main/as3.htmlのhttp://hakuhin.hp.infoseek.co.jp/main/as3/text_field.htmlから、テキスト表示まわりを再確認し、それをBitmapで表示するためにhttp://hak…

Box2D関連のログ

状況 重力を相殺しつつ進む球を作成した。sキーで球を発射し、積み木にぶつける。 重力相殺は、Step実行前に毎回「逆方向の力×質量」を加えることで行う。 力を加えて相殺してる(速度の外部セットではない)ので、物体に当たってからの跳ね返りは物理エンジ…

Box2D関連のログ

m_physScaleやStepの精度をいじると、球が跳ねたり跳ねなかったり。あんまり跳ねる事を期待してはいけない? とりあえず、CreateBodyの返り値をArrayに入れておいて、外部から座標を制御してみるところまでやった。内部の計算を見た限りでは、重力を相殺する…

Box2Dの導入ログ

ということで、別の物理エンジンとしてBox2Dをさわってみることにした。 導入 Box2DFlashAS3 download | SourceForge.netのDownloadから、下の〜.zipを選んで解凍。 いつものごとく「flex_sdk_2\frameworks\source」に「Box2D」のフォルダをコピー。 付属の…

APEの作業ログ

サンプル作成 とりあえず、「SPACEボタンで空中に浮く」「Sボタンでショットらしき弾を出す」というサンプルを作成。 fixed=trueにしてもpxなどを使って座標の変更はできるが、そのままだと描画に反映されないのでalwaysRepaint=trueにする必要がある。 積み…

APEの作業ログ

サンプル 単純に、地面と球のみのサンプルを作成。インタラクティブはなし。 コード package { import org.cove.ape.*; import flash.display.Sprite; import flash.events.Event; import flash.events.KeyboardEvent; public class Main extends Sprite { s…

APEの作業ログ

ということで、APEの方も試してみる。 導入 http://www.cove.org/ape/のdownloadsから、current releaseのやつをダウンロード。そのsourceの中をいつものように「flex_sdk_2\frameworks\source」に入れる。そろそろライブラリオンリーで動かしてもいい気がす…

reviveの作業ログ

サンプル作成 http://onegame.bona.jp/physics2d/2/のサンプルほぼそのままなんだけど、一応作成。 球と地面だけ作成した。気付いた点としては、「線(ImmovableGate)の当たり判定は片方しかない」らしい、ということ。つまり、片方からはぶつかるけど、もう…

AS3の物理エンジンに何を使うか決める

調査 物理エンジンを使ったアクションゲームを試作したいので、まず、どんな物理エンジンがあって、どれを使うかを決める。 まず、物理エンジンの種類は以下のサイトを参考にした。 http://d.hatena.ne.jp/flashrod/20061230#1167484273 http://blog.seyself…

球と面の衝突判定実装ログ

現状 ある程度、使えるレベルにはなった。あとは、実際にゲームに使いつつ調整する感じで。 動作 十字キーで前後左右に移動。スペースでジャンプ(空中浮遊)。 コード 長いので、試しに「続きを読む」の方に入れてみる。一覧で見たときに重くならないように…

球と面の衝突判定実装ログ

状況 線と円柱の衝突判定を組み込むも、上手く動かず。そこをオフにするととりあえず跳ねるので、平面の方は上手くいっているはず。やはり土日までかかる。 →少しいじって直した。ボールを動かして確認しないと大丈夫とは言えないが。土日で「プレイヤーを動…

球と面の衝突判定実装ログ

状況 コードを簡単にしようと思ったが、一緒に衝突判定もまとめた方が効率が良いと判断し、コード整理はあとまわし。 衝突判定実装中に、「コリジョンと表示は一緒にした方が効率が良いのではないか」と思ったが、分けておいた方が汎用性が高いので保留。 前…

球と面の衝突判定実装ログ

現状 3次元配列をもとに、ブロック(正確にはその面)を表示するところまで完了。意外と時間がかかった。 明日から、ようやく3次元の衝突判定の実装開始。どうも会社からftpでサーバに入れないので、swfはあとで家から上げる予定。 動作 上げてみた。 コー…

円と線の衝突判定の実装ログ

一応、完成。一回だけすり抜けたっぽいので、まだ問題はありそうだが、ひとまずここまで。 結果 はてなダイアリーに Flash を埋め込むガジェット - てっく煮ブログ 跡地で提供されているガジェットを使わせてもらうことにした。とりあえず、キーボードの上下…

衝突処理の実装ログ

いきなり球と箱の衝突判定はしんどいので、簡単な方から段階的に作成することにする。 一番単純なのは「点と線」だが、厚みがないので線上で点を止めることになり、それはそれで問題が生じる(どちら側から接しても線上に来るので、線上にいるときにどちらか…

衝突判定実装のログ

真面目にやると時間がかかる。球と直方体の衝突は辺や角への激突がすごく面倒。 あと、3次元座標の計算をち一通りできるライブラリを探した方が良さそう。PV3Dに付いてるやつだとベクトルのスケーリングができないのが不便。内積や外積の取り方は個人差があ…

アクションゲームのテンプレート:配列から表示まで

アクションゲームのテンプレート作成のための作業中。今日の成果は「配列で指定したとおりにブロックを表示する」ところまで。配列を外部から読み込めるようにすれば、そこそこ汎用的か。今回は汎用性はどうでもいいんだけど。 そろそろフラッシュをここに埋…

PV3D+WiFlash+WoW-Engineのサンプル

内容 Wiiリモコンの傾きに応じて箱が回転し、その中を球が転がるサンプルです。 実際には、箱が回転しているのではなく、重力方向を変えているだけなので、回転によって球に箱からの力が加わったりすることはありません。 基本的に、視点はWiiリモコンを上か…

WoW-Engineの学習ログ

参考 Wow-Engineの導入と解説に関してはWOWEngineで、ミクとリンが跳梁跋扈!! – タロタローグ ブログが詳しい。 作業 WoW-Engineの導入 http://seraf.mediabox.fr/wow-engine/as3-3d-physics-engine-wow-engine/のDownloadのver1からZip解凍。flex_sdk_2/f…

Papervision3DとWiiFlashの接続のまとめ

要旨 PV3DとWiiFlashをつなげて、Wiiリモコンの傾きに応じて箱の表示を傾けることができたので、そのまとめ。 環境設定 環境はだいたい以下のような感じ。今回はあまり詳しく説明しない。 Flex 2 SDK 今はこんな問題があるようです Papervision3D こちらを参…

Papervision3Dの学習ログ

http://www.trick7.com/blog/2007/08/19-120206.phpと同様の現象に悩まされた。ということで、このページにあるようにSVNで取得することにした。 こっちはWindowsなのでTortoiseSVNを使用。 更新したら上手くいった。(内部のsrcをexportして上書き。パスを…

Papervision3D・WiiFlashの勉強のログ

いろいろ調査 Matrix3D.asの中を見ていたら、クォータニオンの記述を発見。専用クラスがあるわけではなく、Objectとして渡してどうこうするらしい。 WiiFlashのsensorXなどの値を表示してみた。軸の方向が思っていたのとは違ったが、値に関してはほぼ想定ど…