書き物

技術とか作った物の話とか愚痴文句感想など

AS3

『投函のお手伝い』を公開しました。

あほげーという企画で、24時間でゲームを作りました。 作ったゲームは以下です。 投函のお手伝い はがきをポストに投げ込むゲームにしようとして作っていましたが、終盤にはがきの内容をどうしようかと思ってた時点で、提出に遅刻することがほぼ確定していた…

Blender で作ったものを Flash で表示する(アニメーション)

Blender で作ったものを Flash で表示する(マテリアルとかテクスチャとかも) の続きです。 Blender で作ったアニメーションデータを Away3D で使うことが出来たので記録しておきます。今回は主に Blender の話です。 対象環境 Blender 2.61 Away3D 4.0.0 B…

Blender で作ったものを Flash で表示する(マテリアルとかテクスチャとかも)

Blender で作ったものを Flash で表示する の続きです。 前回はマテリアルもテクスチャもライトも何も使わなかったので、真っ白な恐らく 3D っぽい何かが表示されていました。マテリアルとかテクスチャ含め、Blender で作ったものを Away3D で Flash 表示さ…

Blender で作ったものを Flash で表示する

まだまだ分からないことは多いですが、ひとまず Flash で表示するところまで来たので記録しておきます。 目指す所は、 Blender で 3D のモデリング、 Away3D で Flash 表示です。 対象環境 Blender 2.61 FlashDevelop 4.0.0 RTM Flex SDK 4.6.0 Away3D 4.0 A…

子から親へ選択的なデータアクセスを行うクラス構成

AS3 でゲームを作る場合に僕が良く使うクラス構成です。 [caption id=“attachment_2481” align=“alignnone” width=“605” caption=“コンテキストを用いたデータのやり取り図”][/caption] 各オブジェクトのメイン処理は各クラスの execute() で行います。 各ク…

for each で末尾データの処理をスキップする方法

ちっちゃいネタですが、今まで気づかなかったので。 僕は AS3 で、できることなら for each を使いたがるのですが、この場合インデックスの情報を持っていないので、 「~番目のデータは処理しない」 とかの処理が出来ません。 まあそれは仕方ないのですが、…

Flex SDK で作った外部 swf の中で定義されているクラスを取り出す方法

Flash で外部ファイルを扱う場合、swf へ埋め込む方法と、直接画像ファイル等をロードする方法があります。swf へ埋め込むとコンパイルに時間がかかったり、埋め込んだ swf 自体のサイズが大きくなったりします。外部ファイルをロードする場合、素材自体が丸…

スクロールするマップチップのマップを表示する

この記事は「ActionScript Game Utility Library ‘ヤスメ’」v0.61 を対象にしています。 Yasumeにはマップチップによるマップ描画と、マップに対するオブジェクトの当たり判定を行う機能があります。 サンプル(ソース) サンプルでは、マウスカーソルをカメ…

Flexで動作毎にアニメーションさせる

この記事は「ActionScript Game Utility Library ‘ヤスメ'」v0.61 を対象にしています。 Flex は Flash のようにタイムラインが存在しないため、アニメーションをさせるための機構を自分で作る必要があります。「ActionScript Game Utility Library ‘ヤスメ'…

ActionScript Game Utility Library 'ヤスメ' v0.61 をリリースしました。

ActionScript Game Utility Library ‘ヤスメ’ v0.61 をリリースしました。成果物はSpark projectをご参照下さい。 ActionScript Game Utility Library ‘ヤスメ’ v0.60からの主な変更点 シーン管理機能追加 RTMFPのNetStreamクラスによる複数人相互通信確立機…

NetStream と NetGroup 比較

RTMFP による通信手段には大きく分けて NetStream クラスを使う方法と、 NetGroup クラスを使う方法があります。それぞれ一長一短があるので、要件に応じてうまいこと使っていきたいところ、ということで、ゲームを作る上で調べてた時に気づいたことを書いて…

Flex4でSpriteを使う

Flex で画面を作るのに MXML はとても便利なので使いたいけど、同時に Shape をぐりぐり動かすようなゲームも作りたいというような場合、MXML で Shape を addChild したいことと思います。しかし、MXML のコンポーネントに対して Sprite を addChild しよう…

RTMFP導入

FlashPlayer10から、クライアント間で直接データ送受信を行えるAPIが追加されたようです。Flashで複数のクライアント上のデータをリアルタイムに同期させようとすると、XMLSocketだとかソケットサーバーだとかで実現してたと思いますが、FlashPlayer10からは…

【修正】任意の引数を持つ初期処理メソッドを共通的に実行したい

任意の引数を持つ初期処理メソッドを共通的に実行したい 昨日のエントリーのコードが間違っていました。initializeメソッドを定義しない場合は何もしない・・・という処理を書いたつもりが、そんなメソッド存在しませんという例外が出ていました。ブラウザの…

任意の引数を持つ初期処理メソッドを共通的に実行したい

やりたかったことを思いついたのでメモします。wonderflで実験したら成功しました。 引数の異なる初期処理メソッドを共通的に呼び出すコード - wonderfl build flash online 僕がしたかったことは、ゲームのシーンを表すSceneクラスをSceneManagerクラスへ予…

「Error #1068」に気をつけろという話

AS3

「Error #1068」というランタイムエラーにはまってしまいましたので、調べた結果を記録しておきます。 see? 「Error #1068: int と * は共有できません。」というランタイムエラー再現 URL #wonderfl 2010-06-23 01:09:52 via web どうやらfor eachとラベル…

MyGameLibv0.51のサンプルをすぐ見れるようにした

AS3

ホームページ作成 レンタルサーバー - Infoseek isweb やっぱり簡単にアクセス出来なければ人をひきつけることもできませんね。僕はもう少し自信を持ってもいい。・・・はず。

参照があいまい

AS3

このコードって、「参照があいまい」と怒られます。 インターフェースがインターフェースを多重継承して、同じメソッドを実装した場合、どこかしらあいまいな様子...。 よく分からんなぁ。 package { import flash.display.Sprite; public class FlashTest e…

interface は interface を extends できる

AS3

これは知りませんでした。 public interface IChild extends IParent { : : }

flexunitのTestCase::addAsync()の罠

AS3

非同期処理のテストを行う場合、 dispatcher.addEventListener(Event.COMPLETE, addAsync(onComplete), 1000)); という感じでイベントハンドラのメソッドを addAsync でラップするのですが、この手のテスト中にはまってしまったことをメモ。 public function…

Event::targetには何が設定されているのか

AS3

dispatchEventメソッドでイベントを発生させたりしていたのですが、Eventクラスのtargetプロパティって、何が設定されているのかが気になりました。 Flex3のasdocのEvent::targetには以下のように書かれています。 イベントターゲットです。このプロパティに…

FlexUnitで例外のテストをしたい

例外がthrowされるかテストする場合、以下のように書けばいいと思っていました。 try { obj.throwFunc(); // テストするメソッド fail(); } catch (e:Error) { } throwFunc()実行時に例外がthrowされればcatchブロックへ飛ばされてfail()が実行されずテスト…

続テスト環境構築

FlashDevelopでプロジェクト内にテストプロジェクトを埋め込んでみました。ビルド時に無理やりテストプロジェクトもビルドを行い、ビルド後、TestRunnerを起動するようにしました。こんなんでいいんですかね? FlashDevelopにUnitTest関連のプラグインとかあ…

FlexUnitでテストしてみる

AS3

昨日のテストをFlexUnitでやってみました。 FlexUnitはGUIでテスト結果を確認できるみたいです。 参考ページ 2008-05-13 - Codin’ In The Free World 失敗結果 これは見やすい。 AS3UnitにもAir製GUIツールがあるのですが、僕の環境の問題か、Airランタイム…

趣味プログラミングで単体テストをやるようにする

AS3

趣味でのプログラミングでは特にテスト等考えておらず、動作確認をしてパッと見動けばOKみたいな感じにしていました。適当にしすぎなので、趣味でもテストするようにしようと目論んでみます。 yossy/ASUnit - Spark project JUnitとかは聞いたことがあったの…

ゲームを作るとき取得できると便利かもしれないキー入力状況情報パターン

まえがき キーボードを使うゲームは、当然キー入力の状況を受け取らないといけません。 どのキーが押されているか、押されていないか等。 Aキーが押されているか、押されていないかだけでなく、 もうちょっといろんなパターンでのキー入力状況を簡単に取得で…

アーカイバとかやってみた

AS3

外部ファイルをロードする場合、ゲームをローカルで遊んでもらおうとすると、素材丸見えになってしまいます。 すべてswfに埋め込んでしまえばいいのですが、コンパイルが長くなるようです。 完成版のコンパイルで埋め込めばいいのですが。 で、前からちょっ…

マップスクロール結果を他のオブジェクトの座標に反映させる

前の。マップスクロールのクラスができた - 書き物 マップスクロールって、チップをカメラ位置にならべて表示させるだけではなく、 直接マップスクロールに関わらないオブジェクトの座標調整も問題になってきます。 その座標調整には、前回チップを表示させ…

マップスクロールのクラスができた

ネーミングはちょっとしっくりきていないのですが、MapChipViewerクラスを作りました。 こんな感じで動きます。⇒■ ソースはコチラ。⇒■ 何やら使ってないクラスもありますが、主役は「mylib.system.map.MapChipViewer」です。 なんか妙な組み方になってますが…

自分でイベントを定義できるらしい

AS3

EventDispatcherクラスを継承させて、任意の場所で dispatchEvent(new Event(Event.ADDED)); としておいて、 addEventListener(Event.ADDED, onAdded); としてやれば、任意の場所に処理が来たとき、イベントリスナーに登録したメソッドが呼ばれるらしい。 な…