レポート

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

「Error #1068」というランタイムエラーにはまってしまいましたので、調べた結果を記録しておきます。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js…

FlashDevelop で flexcover を動かしてカバる

テストには flexunit4を、そのテストケースがコードを網羅しているかの確認に、 flexcover が使えます。今回は flexcover の環境を整えて、実際に使ってみます。 実施環境 Flex 3 SDK Version 3.2.0 build 3958 FlashDevelop 3.0.3 RTM flexcover v0.81 Flex…

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

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

『花火』でゲームシステムを考える

AS3の文法を覚えたはいいものの、どうやってゲームを作ればいいのかというとき、 ひとつ、プログラムの土台となるシステムを覚えればかなり楽になります。 僕は今まで、タスクシステムと思われる手法でやってきましたが、何やら別の方法があるようなので、『…

クラス名の文字列を渡してそのクラス名のインスタンスを作る方法

昨日の記事の結果です。 flash.utils.getDefinitionByNameでできるようです。 【http://livedocs.adobe.com/flex/201_jp/langref/flash/utils/package.html#getDefinitionByName()】 簡単な例です。 package { import flash.display.Sprite; import flash.ut…

「fdb」オブジェクト出力メモ

少々ややこしい処理のデバッグに地味に役立っています。fdb。 処理の流れを追うだけでなく、変数などのオブジェクトの内容が分かればよりデバッグが楽になります。 step、next等の詳細はこちら。 【fdbを使ってみた】 オブジェクトの内容を出力するのは結構…

fdbを使ってみた

Flex2SDKには、fdbというデバッガも付随しています。デバッガとは、要はバグ取りの手助けとなるツールのことです。コードを一つ一つ処理の順に追って確認しながら実行してくことによって、誤動作をしているポイントを見つけるのに役に立ちます。 今回はこのf…

FlexCompilerShellを試してみる

AS3のコンパイル速度を超すばやくできる方法があるみたいです。それは「FlexCompilerShell」を使ってのコンパイルです。FlexBuilder上でのコンパイルはこの方式のようです。 使ってみようと思って日本語のサイトを探してみましたが見つからなかったので、と…

TextFieldのwidthとheight

スクリプトでテキストを表示させようとする場合、AS3ではTextFieldを使います。基本的な使い方は以下の通り。 var t:TextField = new TextField(); t.text = "文字ィッ";もちろん、コンテナにaddChildしなければ表示されません。 しかしこのTextField、表示…

状態移行について

ゲームというものは、状況の判定やパターンが増えれば増えるほどif文とかが多くなってソースがヤバイことになりがちです。特に敵の脳となる部分を作る場合なんて、特にififします。 今回はそういったifを減らしてソースを少しだけスッキリさせようという企画…

タスクシステム〜タスク追加による実行の不平等の話〜

タスクシステムはタスクをリストに優先度順に登録し、登録されたタスクを1つずつ実行していくものですが、このタスクの登録によってタスクの実行が不平等になる現象があります。タスクシステムを調べる段階でこの現象の存在は知っていたのですが、特に気にし…

子がビットマップではみ出る

近頃のPanelから子がはみ出る問題について、僕の中で結論が出ました。どうやらaddChildしてはみ出るものとはみ出ないものがあるようです。今回は僕が使っていてはみ出た例を示してみます。 (ActionScript3.0での制作を前提としています。MXMLで同様の問題が…

「Image」クラスの「load」メソッド

昨日までImageは描画の要かも?と思っていましたが、要でした。 これで描画の自由度が増します。 それはいいとして、本題は「Image」クラスが持つ「load」メソッドです。 僕がこれまでよく聞いた「Loader」クラスとは少し使い方が違っていまして、かなり混乱…

Flex2デビューのヒント・・・?

FlashとFlexの違いをもろに見せ付けられた感じです。 ということで、「書き物」のカテゴリーに「Flex」を追加。 AS2.0→AS3.0というのは思っていたより簡単だったのですが、 MXMLでのアプリケーション開発というものは新種で、かなり混乱しました。 いろんな…

『納得』したい、関数の実行。

フォーラムで質問して、ようやく理解できてきました。 【プロパティの参照がメソッドの実行方法によって出来ない理由】 しかしこういった場で質問するとすごく緊張します...。 何とか理解しようと必死になっている自分がいます。 あと、僕はところどころ要点…

自作ライブラリは型の集まり?

前々から自分用ライブラリを作っているのですが、ライブラリというものをまだよく分かっていません。 しかし色々プログラムとか打ち込んでいるうちに、 ライブラリとはタスクシステムみたいな大き目の集まりでもあれば、 用途に合わせた細かい型の集まりでも…

深度管理まとめ

AS2.0を覚えて「MovieClip.attachMovie()」をたくさん使うようになったのですが、 同時に「深度」について考える必要性がでてきました。 いわば生成するMCの重なり順を設定するわけですが、 この管理がなかなか面倒に感じています。 面倒な例 『爆裂スライム…

Myタスクシステムレポート6

前回の続きです。 本日で最終回です。 ではさっそく「Ballタスク」を見てみましょう。 Ball.as 例のごとくTaskクラスを継承しています。 コンストラクタでは、BallFactoryクラスから渡された_rootを引数として持っています。 いよいよムービークリップ(以下…

Myタスクシステムレポート5

前回の続きです。 最終回は近いです。 前回現れた、「BallFactoryタスク」を見てみましょう。 BallFactory.as いよいよ、タスクシステムを使う場合のメイン部品であるタスクを見ていきます。 taskフォルダ内のBallFactory.asを見てみましょう。 名前から予想…

Myタスクシステムレポート4

前回の続きです。 いろんなものに負けずにまた書いてみます。 今日はサンプルの解説です。 あの火山っぽいものを作ってみます。 flaファイル 中身を見てみると分かるとおり、とてもシンプルです。 大切なものは、ライブラリに1つだけ入っている、「aMC_ball…

Myタスクシステムレポート3

昨日の続きです。 「TaskList.as」について2 最後に、タスクリストに登録されている全タスクの処理関数を実行する、 メインとなるループのメソッドである startOnEnterFrame() についてです。 このメソッドも例のごとく TaskList.startOnEnterFrame(stageMc…

Myタスクシステムレポート2

前回の続きです。 昨日のレポートで知ったことを元に考えてみると、 今回のソースはちょっと恥ずかしいなぁ...と思いながらも、負けずに続けます。 「TaskList.as」について1 ずいぶん無駄なことをしている代表のファイルですが、 無駄なことを指摘しながら…

オブジェクトを代入した変数の正体

本日は予定を変更して、別のレポートをお送りいたします。 世間ではスデに常識だと思われることですが、 僕は知らなかったし、応用範囲が広すぎるので忘れないうちにレポートにしておきます。 タイトルどおり、オブジェクトを代入した変数ですが、 今まで僕…

Myタスクシステムレポート1

前書き ひとまず「それっぽく」形になった、自作タスクシステムについて書いてみようと思います。 (想像や、曖昧な表現などが多数出現する可能性が高いですがご了承ください。) タスクシステムの基本が知りたい方はコチラ ⇒【WhitePaper】 ActionScript2.0…

onEnterFrame内でのパスの扱い

AS2.0の壁として、パスの理解がありました。 特に、"this"が何を指しているのかが分かっていませんでした。 今回分かったことは、 MovieClip.onEnterFrame 内でのパスについてです。 var test:String = "Yes!"; function testFunc():Void { var fTest:String…

ステージに指定した名前のMCは存在するか?

AS2.0が大分自分のものとなってきました。 面白くなってきました。 Flash付属のヘルプで、自分で分からないことを調べられるようになったことが、 成長したなぁと思える一因でもあります。 で、今日は探していた処理の方法が分かりました。 したかったことは…