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

2008年10月02日

選択ロジック

選択肢の実装についてです。

XMLによる選択肢による分岐調整のパラメータを実装するために試行錯誤中。

簡単なXMLによる分岐値調整ロジックを考えたのでメモします。

続きを読む
posted by 神風記 at 23:33| 条件分岐 | このブログの読者になる | 更新情報をチェックする

2008年03月19日

tryメソッドでエラーの発生の有無に関わらず実行される、「finally」について

finallyはtryメソッドで、エラー発生の有無に関わらず、実行される処理です。

tryメソッドはエラーが発生しない(try{}で定義された処理の実行が可能)場合は、try{}で定義したメソッドが実行され、エラーが発生した(実行が不可能)場合は、catch{}で定義されたメソッドが実行されます。

finallyは、その様なエラーの発生の有無に関わらず、実行される処理です。

例題

my_spというSpriteオブジェクトを生成する。

tryメソッド内に

Spriteオブジェクトを、ステージ上にaddChild()するメソッドと、定義したmy_sp内にmy_spをaddChildする処理(実行できない処理)を定義します。

実行できない処理である、my_sp内にmy_spをaddChildする処理をコメントアウトしているので、ここではtry{}で定義されたメソッドが実行されます。コメントアウトを解除すると、try{}で定義された処理は実行されず、エラー処理を拾う、catch()メソッドで定義された処理が実行されます。

finallyの処理は、処理が実行可能な場合に実行される、tryメソッド、エラーが発生した時に実行されるcatchメソッドのどちらが実行されても実行される。


import flash.display.Sprite;

var my_sp:Sprite = new Sprite();
try
{
stage.addChild(my_sp);

//実行するとエラーが起こる処理。コメントアウトを解除した場合、catch内のメソッドが実行される
//my_sp.addChild(my_sp);

trace("tryの実行が完了");
}
catch (e:ArgumentError)
{
trace("tryが実行されませんでした");

trace(e); // エラー内容を出力

}finally
{
trace("エラー発生の有無に関わらず実行される");
}
posted by 神風記 at 20:10| 条件分岐 | このブログの読者になる | 更新情報をチェックする

2008年03月11日

switch文の基礎

switch文の基礎を学習します。

switch()メソッドは()内に条件文となる値を定義しcaseとbreakを使用する事で各値に適用した判断し、メソッドを実行します。

例題

my_uiというuint変数を定義する。

my_uiに0〜3の乱数定義する。

switch(my_ui)でmy_uiの値を、caseで判断し、値にあったメソッドを実行します。

ソースコード

var my_ui:uint=0;

my_ui=Math.floor(Math.random()*4)

switch(my_ui)
{
case 0:
trace("0です");
break;
case 1:
trace("1です");
break;
case 2:
trace("2です");
break;
case 3:
trace("3です");
break;

}
posted by 神風記 at 21:55| 条件分岐 | このブログの読者になる | 更新情報をチェックする

2008年03月10日

try、catchメソッドの基礎

try、catchメソッドの基礎を学習します。

try、catchメソッドはエラーが発生する可能性のあるコードブロックを囲み、そのエラーに対処するためのメソッドです。

AS3におけるエラー等の例外処理が発生する可能性のある処理を実行する時に、このtry、catchメソッドが役に立ちます。

例題

my_spというSpriteオブジェクトを生成する。

tryメソッド内に

Spriteオブジェクトを、ステージ上にaddChild()するメソッドと、定義したmy_sp内にmy_spをaddChildする処理(実行できない処理)を定義します。

実行できない処理である、my_sp内にmy_spをaddChildする処理をコメントアウトしているので、ここではtry{}で定義されたメソッドが実行されます。コメントアウトを解除すると、try{}で定義された処理は実行されず、エラー処理を拾う、catch()メソッドで定義された処理が実行されます。


import flash.display.Sprite;

var my_sp:Sprite = new Sprite();
try
{
stage.addChild(my_sp);

//実行するとエラーが起こる処理。コメントアウトを解除した場合、catch内のメソッドが実行される
//my_sp.addChild(my_sp);

trace("tryの実行が完了");
}
catch (e:ArgumentError)
{
trace("tryが実行されませんでした");

trace(e); // エラー内容を出力

}
posted by 神風記 at 22:00| 条件分岐 | このブログの読者になる | 更新情報をチェックする

2008年03月09日

while文の基礎

while文の基礎を学習します。

while文とは条件を満たしている限り実行されつづける処理です。

while(条件文)
{
//処理の実行
}

例文

count_uiというuint型の変数を定義します。

count_uiの値が5以下の場合に実行されるという条件を定義します。

処理内ではcount_uiをインクリメント(++)します。

count_uiが5以下であるという条件を満たしている限り、インクリメントは繰り返されます。

インクリメントの処理が繰り返され、値が5以下でなくなった時にwhile文が抜けます。


ソースコード

var count_ui:uint=0;

while(count_ui<5)
{
trace("count_ui="+count_ui);

count_ui++;

}

trace("count_ui="+count_ui)
posted by 神風記 at 20:28| 条件分岐 | このブログの読者になる | 更新情報をチェックする

2007年12月23日

!演算子を使用してStringに文字列が入っているかどうかを判断する

!演算子を使用してStringに文字列が入っているかどうかを判断します。

String!=="文字列"
でStringが特定の文字列ではない場合というif文を作る事ができます。

例題

Stringオブジェクトに文字列が入っているか否かを判断する。
Stringオブジェクトは二つ用意する。一つは「"a"」を代入し、もう一つはStringオブジェクトを定義した時に自動的に代入される「null」の値が設定されている。




var my_str:String="a";

//Stringの中身が空白ではない場合 
if(my_str!="")
{
trace("文字列が入っています");
}

var sample_str:String;

trace("sample_str="+sample_str)

//Stringの中身がnullではない場合
if(sample_str!=null)
{

trace("sample_strはnullではありません");
}
posted by 神風記 at 15:12| 条件分岐 | このブログの読者になる | 更新情報をチェックする

2007年12月21日

!演算子を使用した変数が特定の値でない場合を判断するif文

変数が特定の値でない場合という式を判断するには変数の後に!をつけます。

変数の値が特定の値ではない場合のif文の処理は使う機会が多いので覚えておく事をお勧めします。

例題

変数get_numを生成し、値を2に設定。

if(get_num!==-1){}という処理を定義。get_numは-1でないためステートメントが実行される。

var get_num:Number=2

//数が特定の数でない場合という式を判断するには変数の後に!を
if(get_num!==-1)
{
alert("get_numは-1ではない");
}
posted by 神風記 at 12:44| 条件分岐 | このブログの読者になる | 更新情報をチェックする

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月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月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月10日

elseステートメントの基礎的な使用方法

elseステートメントの基礎的な使用方法を解説します。elseステートメントはifステートメントを使いこなす上でかかす事ができない処理です。

elseステートメントはif ステートメントの条件が false を返したときに実行するステートメントを指定するものです。

if (condition) { // ステートメント } else { // ステートメント }




下記の例文を見てみましょう。sample_numの値がif()のステートメントが5以下だった場合はfalseを返すのでifステートメントは実行されずにelse{}のステートメントが実行されます。

if(sample_num>5){

trace("sample_numの値が5以上なので処理を実行");

} else else {

trace("random_numが5以下です")
}

else{}ステートメントはifステートメントの条件がfalseを返した際に実行される処理です。


例題

ボタンオブジェクトとNumberオブジェクトを生成します。
ボタンをクリックするとNumberオブジェクトに0〜9の値がランダムで代入されます。
その値をif文を使って判断します。
Numberオブジェクトが5より大きい場合は{}のステートメント内の処理が適用されます。

小さい場合はifステートメントの条件がfalseを返すのでelseステートメントが実行されます。ソースコード | Flashゲーム研究所
posted by 神風記 at 02:25| Comment(0) | TrackBack(0) | 条件分岐 | このブログの読者になる | 更新情報をチェックする

2007年10月09日

ifステートメントについて

条件分岐の基礎であるifステートメントの使用方法を解説します。ifステートメントは分岐処理が多いFlashゲーム制作において欠かす事ができない処理です。

ifステートメントはif ステートメントの条件が trueを返したときに実行するステートメントを指定するものです。

if (condition) { // ステートメント }



下記の例文を見てみましょう。sample_numの値が5を上回った場合はifステートメントの条件がtrueを返し、{}内の処理を実行します。

if(sample_num>5){

trace("sample_numの値が5以上なので処理を実行");

}

if{}ステートメントはifステートメントの条件がtrueを返した際に実行される処理です。


例題

ボタンオブジェクトとNumberオブジェクトを生成します。
ボタンをクリックするとNumberオブジェクトに0〜9の値がランダムで代入されます。
その値をif文を使って判断します。
Numberオブジェクトが5より大きい場合はifステートメントの条件がtrueを返し{}のステートメント内の処理が適用されます。

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

2007年10月08日

条件分岐カテゴリを新設

条件分岐処理についてのカテゴリを新設しました。Flashゲーム制作において分岐処理は欠かす事ができません。このカテゴリでは条件分岐の基本であるifの使用例や、trueとfalseを定義し、判断する方法を記述していきます。効率良く分岐処理を行っていく方法を模索していきます。
posted by 神風記 at 03:56| Comment(0) | TrackBack(0) | 条件分岐 | このブログの読者になる | 更新情報をチェックする