ASが運営するWebサイトに飛びます

2007年10月31日

currentLabelsメソッドでswf内のラベルを配列に格納

currentLabelsメソッドでswf内のラベルを配列に格納します。
currentLabelsメソッドはswfに定義されたラベルを配列に格納する事ができます。

currentLabels:Array [read-only]

例題

現在のswfに定義されたラベル名を配列に格納する。

stop();

trace("this.currentLabels="+this.currentLabels)

これでswfに定義されたラベルがすべて配列に格納されます。ソースコード | Flashゲーム研究所
posted by 神風記 at 02:43| 外部SWFの操作 | このブログの読者になる | 更新情報をチェックする

2007年10月30日

ロードが完了した外部SWFのフレーム数を参照する

totalFramesメソッドを使って外部SWFのフレーム数を参照します。

読み込んだSWFのフレーム数を参照しておくとSWFを制御する際に何かと役に立つので覚えておく事をお勧めします。

例題

Loaderで外部SWFをロードします。
ロードが完了したらオブジェクトを生成し、SWFを読み込んだLoaderを代入します。

オブジェクト.content.totalFrames
で外部SWFのフレーム数を出力します。

ソースコード | Flashゲーム研究所
posted by 神風記 at 05:57| 外部SWFの操作 | このブログの読者になる | 更新情報をチェックする

2007年10月29日

swfファイル内のフレーム数を調べるtotalFramesメソッドについて

swfファイル内のフレーム数を調べるtotalFramesメソッドについて簡単に記述します。

swfのフレーム数を調べたい時はtotalFramesメソッドを使用します。このtotalFramesメソッドを使う事でswfのフレーム数が返されます。

例題

現在のswfのフレーム数を調べます。

swfのフレーム数が返されます。

ソースコード | Flashゲーム研究所

2007年10月28日

プログラム設計のカテゴリを新設

プログラム設計のカテゴリを新設しました。

設計段階での構想や考え方、考えの纏め方を色々書いていきたいと思います。

設計をはある意味コーディングより重要ですのでしっかり研究していきたいと思います。
posted by 神風記 at 19:01| プログラム設計 | このブログの読者になる | 更新情報をチェックする

2007年10月27日

keyBoardEventは押したままでもイベントが配信され続けてしまうらしい

タイピングゲームを作る上でkeyBoardEventに少し問題がある事がわかったので対応を考えてます。

問題 キーボードを押しっぱなしにしているとイベントが配信され続けてしまうという事。

keyBoardEventを何の手を加えずに使うとキーを押している間はずっとイベントが配信されている状態になっているという事です。

オリジナルクラスを作って「キーを押した瞬間」時だけイベントを配信する作りにする必要があります。

とりあえず色々試してみて近日中に、キーイベントを押した瞬間だけイベントを発行する方法をアップしたいと思います。
posted by 神風記 at 19:52| タイピングゲーム開発 | このブログの読者になる | 更新情報をチェックする

2007年10月26日

効率良くタイプしたキーを判断したい

効率良くタイプしたキーを判断する方法を考え中。
前回のswitch文でキーコードを判断して変数にアルファベットを代入していく手法は少し効率が悪いのでもっと効率の良い処理方法を見つけたいものです。

その他にもkeyboaedEventでキー処理を行うと、キーを押しっぱなしだとイベントが配信され続けてしまうという問題があるので、この辺りも要修正。近日中になんとかしたいところです。
posted by 神風記 at 05:21| タイピングゲーム開発 | このブログの読者になる | 更新情報をチェックする

2007年10月25日

タイピングゲームの基礎。キーコードから打ち込んだキー(アルファベット)を認識する。

タイピングゲーム開発の基礎である打ち込んだキー(アルファベット)を認識する処理を行います。

キーコードから打ち込んだキー(アルファベット)を認識する処理です。

KeyboardEvent.KEY_DOWNでa,b,cなどのキーを打ちこむとイベントハンドラ内で打ち込んだキーのキーコードを参照できます。

aを打つと65,bは66,cは67というようにアルファベッド事に割り振られたキーコードが返されます。

今回はこのキーコードから打ち込んだキーをFlashに判断させる処理を行います。

例題

どのキーが押されたかをキーコードから判断します。
aを押すとa、bを押すとbが押されたとFlashに認識させ明示的に確認できるようにします。

今回はswitch文を使って、キーコード事にアルファベットを変数に代入していく手法を使ってFlashにキーを認識させます。

キーコードが65の場合は変数にaを代入。66の場合はbを代入、67の場合はcを代入するなど、キーコード事にアルファベットを順番に代入していきます。
これでユーザーがキーを押してキーコードが出力された時にキーコードから押されたキーをFlashに認識させる事ができます。

switch(evt.keyCode)
{

case 65://aを押すと65のキーコードが出力
key_str="a";
break;
case 66://bを押すと66のキーコードが出力
key_str="b";
break;

}

}

今回のswtich文を使った手法はキー処理の基礎です。

打ち込んだキーをFlashに判断させる処理は様々な手法が存在するのでこれから突き詰めていきます。







ソースコード | Flashゲーム研究所
posted by 神風記 at 06:22| タイピングゲーム開発 | このブログの読者になる | 更新情報をチェックする

2007年10月24日

タイピングゲームの基本であるキーイベントを取得する処理を行う

タイピングゲームの基本であるキーイベントを取得する処理を行います。

タイピングゲームの開発はキー操作に関するイベントを処理する事が重要です。

今回はキーボードのイベントを取得します。

ユーザーがキーを押した時に「キーを押した」という事を感知する処理です。

キーが押されたというイベントを感知する事によってタイピングゲームの一連の処理が始まります。

タイピングが正しいかどうか判断したり、効果音を鳴らしたり得点を加算するなどの処理を行っていきます。

このタイピングゲームの根幹をなす処理が「KeyboardEvent」です。

今回主に使用する処理

KeyboardEvent

KeyboardEvent.KEY_DOWN

キーボードのイベント取得は「KeyboardEvent」で行います。

今回はキーボードが押されたらイベントを送信します。

「KeyboardEvent.KEY_DOWN」でキーボードが押されたというイベントを送信します。

例題

キーを押すと押したキーのキーコードが出力される処理を行います。
キーコードとは各キーに割り当てられている数字です。
aのキーコードは65,bのキーコードは66などキーによって番号が割り当てられています。
aを押すと65を返し、bを押すと66を返します。
キーボードが押されるとイベントを送信し、イベントハンドラで押されたキーのキーコードを出力します。

stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);

addEventListenerで「KeyboardEvent」(キー操作に関するイベント)のKEY_DOWN(キーが押された時)イベントを定義します。

キーが押されたら関数にアクセスします。この関数で押されたキーのキーコードを判断します。

ソースコード | Flashゲーム研究所
posted by 神風記 at 03:55| タイピングゲーム開発 | このブログの読者になる | 更新情報をチェックする

タイピングゲームの開発を開始します。

Flashタイピングゲームの開発を開始します。

タイピングゲーム開発のためのプログラミングを行っていきます。
posted by 神風記 at 03:24| タイピングゲーム開発 | このブログの読者になる | 更新情報をチェックする

2007年10月23日

?と:を使って条件分岐を行う

?と:を使って条件分岐処理を行います。

例文

(sample2_ui<sample_ui)?trueMethod():falseMethod()

(条件文)?trueの場合の処理:falseの場合の処理

という風に記述します。

:の前の処理がtrueの場合の処理。

:の後の処理がfalseの場合の処理です。

簡潔に分岐処理を行う場合はこの手法がお勧めです。

ソースコード | Flashゲーム研究所
posted by 神風記 at 04:36| Comment(0) | TrackBack(0) | 条件分岐 | このブログの読者になる | 更新情報をチェックする

2007年10月22日

配列に格納したswfを複製する

URLLoaderを使って配列に格納したswfをLoaderに複製します。

一つのURLLoaderが順番にswfをロードします。

URLLoaderのデータフォーマとはバイナリデータに変換しておきます。

ロードが完了したらswfが読み込まれたデータを配列に格納して、残りのswfをロードします。

swfをすべて読み込んだらボタンを押して配列に格納された各swfのデータをLoaderにloadbytesメソッドを使って代入します。
もう一度ボタンを押すと次の配列に格納されたswfがロードされます。

以前ロードされていたswfは画面上から消え、次の配列に格納された新しいswfが表示されます。

この処理を応用するとあらかじめ外部swfをすべて一つの配列に格納して、呼び出したいときにいつでも呼び出す事ができると思います。

Loaderで同じような事をやった場合は、複数のswfをロードし配列に格納しても、一つのswfしか配列から取り出せなかったのですが、この処理だと、URLLoader一つだけで、swfのデータの格納、取り出しが行えるので処理を軽くする事ができると思います。

問題はバイナリデータとして格納するため、配列に格納されたswfの検索が難しい事です。

外部swfの処理はこれからも深く研究していくと思います。


ソースコード | Flashゲーム研究所
posted by 神風記 at 01:00| Comment(0) | TrackBack(0) | 外部SWFの操作 | このブログの読者になる | 更新情報をチェックする

2007年10月21日

ロードした外部swfを複製

ロードした外部swfをコピーします。

コピー元のSWFのデータを格納したオブジェクトはURLLoader

SWFを複製するオブジェクトはLoaderを使います。

URLLoaderのデータフォーマットをバイナリに設定します。
URLLoaderがswfをロードします。
ロードが完了した後のURLLoaderのdataプロパティに格納されているバイナリデータをLoader.loadBytes(URLLoader.data)の処理を行います。

これでLoaderにURLLoaderがロードしたswfをコピーできます。

Flashゲーム制作では外部swfを使用する機会が多いのでこの外部swfをコピーする処理は使いこなすとかなり役に立つと思います。
ソースコード | Flashゲーム研究所
posted by 神風記 at 01:00| Comment(0) | TrackBack(0) | 外部SWFの操作 | このブログの読者になる | 更新情報をチェックする

2007年10月20日

returnを使って関数の処理を中断する

returnを使って関数の処理を中断します。

returnは関数の処理を途中で中断する事もできます。

function decisionReturn(){
trace("処理に入りました")
if(!isBtn) return;
trace("isBtnをtrueがtrue。引き続き関数を実行")

}

isBtnの値がfalseの場合、その場で関数の処理が中断されます。よってreturnの下に定義したtrace()の処理は実行されません。

条件を満たしていない時は関数の処理を中断するという処理を行う時にreturnは非常に便利です。

Flashゲーム制作では変数の状態を判断し、処理を実行するかどうかを判断する機会が非常に多いので、条件が満たされていない場合はreturnで関数の処理を中断するreturnの処理は非常に役に立ちます。

ソースコード | Flashゲーム研究所
posted by 神風記 at 00:00| Comment(0) | TrackBack(0) | 条件分岐 | このブログの読者になる | 更新情報をチェックする

2007年10月19日

for文の処理を途中で止める「break」について

for文の処理を途中で止める「break」について解説します。

breakはfor文の処理を途中で抜ける処理です。

breakを使う事でfor文の途中で条件を満たした時点でfor文を中断し、残りのループ処理を抜ける事ができます。

for(var i:Number=0;i<20;i++)
{
if(i>10){

break;
}
}

これはiが10以上になったらfor文の残りの部分をスキップして抜ける処理です。

breakはfor文を効率良く使いこなす上で非常に役に立つので覚えておく事をお勧めします。



ソースコード | Flashゲーム研究所

2007年10月18日

!を使ってBoolean変数のtrueかfalseを判断する

!(論理否定演算子)を使ってBoolean変数がtrueかfalseかを判断します。

var isBtn:Boolean=false;

if(!isBtn){
trace("falseです");
}

変数の前に「!」をつける事によって変数が「false」の場合はという条件式になります。

Boolean変数のtrue,falseを判断するのに非常に便利な演算子なので覚えておく事をおすすめします。


ソースコード | Flashゲーム研究所
posted by 神風記 at 00:00| Comment(0) | TrackBack(0) | 条件分岐 | このブログの読者になる | 更新情報をチェックする

2007年10月17日

多次元配列を生成する

多次元配列を生成します。情報の整理に非常に便利です。

var sample_arr:Array=new Array();

sample_arr[0]=new Array()
sample_arr[0][0]="0,0";
sample_arr[0][1]="0,1";

sample_arr[1]=new Array()
sample_arr[1][0]="1,0";
sample_arr[1][1]="1,1";


多次元配列は配列の中に新たな配列が生成された配列です。多次元配列は使いこなすと非常に便利ですので、使用例等を後日アップしていきたいと思います。

基本的な生成方法

ソースコード | Flashゲーム研究所
posted by 神風記 at 00:00| Comment(0) | TrackBack(0) | 配列 | このブログの読者になる | 更新情報をチェックする

2007年10月16日

効率よくコーディングを行うための処理

効率よくコーディングを行うための処理を記述します。

break for文のループ処理を抜ける。for文の途中で条件を満たし、残りのfor文処理を行わない時に使う。

!(if(!isBtn)のBoolean変数のfalseを表す。if(isBtn==false)と同じ

return
関数の処理を途中で中断したい時に使える

function sample(){
if(!isBtn) return

trace("この場合isBtnがtrueだったら関数の処理は中断されないので処理を実行")
}

使えるのでメモ。後日詳しく記述します。
posted by 神風記 at 03:13| Comment(0) | TrackBack(0) | メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

クラスパスの通し方

クラスパスの通し方を解説します。

flaファイルの設定を行う事で違うディレクトリにあるクラスファイルにアクセスします。

「ファイルメニュー」「パブリッシュ設定」→ActionScript3.0の横の「設定」→クラスパスの欄にアクセスしたいクラスファイルが格納されたフォルダのパスを記述。

これで違うディレクトリにあるクラスも同じディレクトリにあるクラスと同じようにアクセスできます。

var _myClass:MyClass=new MyClass()

というように同じディレクトリにあるクラスと同じよう処理をするだけでアクセスができます。
posted by 神風記 at 00:00| Comment(0) | TrackBack(0) | クラス | このブログの読者になる | 更新情報をチェックする

2007年10月15日

キーボードに打ちこんだキー(アルファベット)を認識する

キーボードに打ちこんだキー(アルファベット)を参照します

KeyboardEventで
a,b,cなどのキーを打ってイベントを送信して、ハンドラでkeyCodeを参照すると押されたキー(アルファベット等)のキーコードが参照できます。aは65,bは66,cは67といったキーコードが参照できます。

例題

どのキーが押されたかを判断します。
aを押すとa、bを押すとbが押されたと明示的に確認できるようにします。

switch(evt.keyCode)
{

case 65://aを押すと65のキーコードが出力
key_str="a";
break;
case 66://bを押すと66のキーコードが出力
key_str="b";
break;

}

}



ソースコード | Flashゲーム研究所
posted by 神風記 at 00:00| Comment(0) | TrackBack(0) | キーボード処理 | このブログの読者になる | 更新情報をチェックする

2007年10月14日

キーボードイベントを取得

キーボードのイベントを取得します。

キーボードのイベント取得は「KeyboardEvent」です。

今回主に使用する処理

KeyboardEvent

KeyboardEvent.KEY_DOWN


今回はキーボードが押されたらイベントを送信するKeyboardEvent.KEY_DOWN
でキーボードが押されたというイベントを送信します。

例題

キーボードが押されるとイベントを送信し、イベントハンドラで押されたキーのキーコードを出力します

ソースコード | Flashゲーム研究所
posted by 神風記 at 01:00| Comment(0) | TrackBack(0) | キーボード処理 | このブログの読者になる | 更新情報をチェックする