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

2008年04月30日

コンテンツの追加予定。

サイトコンテンツの追加を予定しています。

現在制作中のゲーム「神風」のごく短い体験版の様なものをプレイできるコンテンツ作る予定です。
posted by 神風記 at 23:41| 独立部隊 | このブログの読者になる | 更新情報をチェックする

2008年04月14日

AfterEffectsカテゴリを新設しました



AfterEffectsカテゴリを新設しました。

基礎の基礎から、ゲームのムービーや、演出のエフェクト等ができるレベル位まで行うようにしていきます。
posted by 神風記 at 22:20| AfterEffects | このブログの読者になる | 更新情報をチェックする

2008年04月13日

ブログ運営方針



ブログ運営方針が変わります。

このブログはAS3のソースコードをメモするために存在しているブログでした。

随分前から、プログラミング自体ではなく、ゲーム制作しか行っていない状態です。

自分の中で目指すべきものも見えてきたので、今後はゲームについての事や、気づいた事、私的なメモ等もこのブログに書いていくことになると思います。

ソースコードのみを掲載するというブログの運営方針は変わりますが、今後ともお付き合い頂ければ幸いです。
posted by 神風記 at 23:12| 独立部隊 | このブログの読者になる | 更新情報をチェックする

[独立部隊]ギャラリー更新しました



[独立部隊]ギャラリー更新しました

今後配信されるのゲームで使用予定のイベントCGです。
posted by 神風記 at 18:54| 独立部隊 | このブログの読者になる | 更新情報をチェックする

2008年04月12日

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

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

例文

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

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

という風に記述します。

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

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

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


var sample_ui:uint=10;
var sample2_ui:uint=8;

decisionCondition();
function decisionCondition(){


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

}

function trueMethod(){

trace(":(コロンの)前のtrueの場合の処理が実行されました")

}

function falseMethod(){
trace(":(コロン)の後のfalseの処理が実行されました");
}
posted by 神風記 at 21:15| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

2008年04月11日

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

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

var isBtn:Boolean=false;

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

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

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

ソースコード | Flashゲーム研究所
posted by 神風記 at 19:44| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

2008年04月10日

XMLオブジェクトのデータ型を変換



XMLオブジェクトのデータ型のデフォルトは、「XML」です。

XMLに記述されているのが、文字列でも数字でも一律「XML」のデータ型です。

一度変数に、XMLの値を格納するのがベターな方法ですが、XMLにアクセスする際に直接データ型を指定する事で、そのまま、値を指定したデータ型へ変換し、使用する事ができます。

XMLオブジェクトのデータ型を指定して、そのまま値を使用する一例。

ch_arr[uint(item_xl[i].ch[chi].ui)][2].content.gotoAndStop(String(item_xl[i].cf[cfi].@str))

この様にデータ型を指定する事で、そのままXMLの値をFlashのオブジェクトに適用する事ができます。
posted by 神風記 at 22:10| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

2008年04月09日

[復習]SharedObjectの保存をその場で行うflush()メソッド

SharedObjectの保存をその場で行うflush()メソッドについて解説します。

public function flush(minDiskSpace:int = 0):String

第一引数はSharedObjectに割り当てる必要のある最小ディスク領域 (バイト単位) を指定します。

引数はデフォルトで0です。


flush()メソッドはローカルに作成されたSharedObjectをただちにローカルファイルに書き込みます。このメソッドを使用しない場合、SharedObjectがファイルに書き込まれるのは、SharedObjectセッションの終了時となります。
それはswfファイルが閉じられるときです。
SharedObjectが参照されなくなってガベージコレクションされるとき、SharedObject.clear() または SharedObject.close() が呼び出されたとき、のいずれかの時点になります。

例題

flush()メソッドを使ってmy_soというSharedObjectのデータを保存する(solファイルの生成、更新を行う)


save_btn.addEventListener(MouseEvent.CLICK,saveHandler)

var my_so:SharedObject;


my_so=SharedObject.getLocal("getfordasave02");


var index_ui:uint=20;
//localPath
function saveHandler(evt:Event)
{
//dataプロパティにdata1_numという保存変数を生成しその中にindexuiの値を入れる
trace("セーブされました。flush()を実行します")
my_so.data.data1_num=index_ui;

//SharedObjectのデータ保存を実行します
my_so.flush();
var soStatus_str:String=my_so.flush();
trace("soStatus_str="+soStatus_str)//保存が成功すると「flushed」が返される

}

load_btn.addEventListener(MouseEvent.CLICK,loadHandler)

function loadHandler(evt:MouseEvent)
{

trace("dataプロパティに格納されている、data1_numという変数を参照する"+my_so.data.data1_num)
}
posted by 神風記 at 21:55| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

2008年04月08日

[復習]split()メソッドを使って指定した文字列で区切って配列に格納する事ができます。

split()メソッドを使って指定した文字列で区切って配列に格納する事ができます。

function split(delimiter:*, limit:Number = 0x7fffffff):Array

第一引数で区切りたい文字列を指定します。

値は配列で返されます。

例題

「,」で区切った文字列を取得します。

文字列「black,0.5,0.02」
「,」で区切られた3つの文字列、数字があります。
これを「black」「0.5」「0.02」と三つに分けて取得します。

ソースコード

var my_str:String="black,0.5,0.02";

var my_arr:Array=new Array();

my_arr=my_str.split(",");

trace(my_arr[0])// black

trace(my_arr[1])// 0.5

trace(my_arr[2])// 0.02

trace(my_arr.length)//3

2008年04月07日

[復習]matchメソッドを使用して、文字列を検索

matchメソッドを使用して、文字列を検索します。検索に該当した文字列は配列で返されます。

function match(pattern:*):Array

第一引数には検索したいものを入れます。基本的にはString、つまり文字列を入れます。検索したい文字列が該当した場合、それを配列として返します。

例題

my_strというStringを生成します。その中の文字列をmatchメソッドを使用して検索します。該当する文字がある場合は、第一引数で検索した文字列が返され、該当する文字が無い場合はnullが返されます。

ソースコード


var my_str:String="検索用の文字列です";

var my_arr:Array=new Array();

var my2_arr:Array=new Array();

//matchメソッドでmy_strの中から「検索」という文字列を検索。
my_arr=my_str.match("文字列です");

trace("my_arr="+my_arr)//output 文字列です

//matchメソッドでmy_strの中から「検索」という文字列を検索。
my2_arr=my_str.match("該当無し");

trace("my2_arr="+my2_arr)//output null
posted by 神風記 at 21:47| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

2008年04月06日

[復習]フェード処理をトランジションで行う事ができます。

フェード処理をトランジションで行う事ができます。

第二引数のトランジションタイプをFadeに指定する事によってフェードのアニメーションが行えます。

例題

maskFilta_mcというMCを2秒かけてフェードインさせる。

function FadeLoader()
{
// maskFilta_mc.visible=true;
TransitionManager.start(maskFilta_mc, {type:Fade, direction:Transition.IN, duration:2, easing:Elastic.easeOut});
}

2008年04月05日

[復習]Loaderでロードした画像は、一度に二つ以上表示できない

Loaderでロードした画像は、一度に二つ以上表示できません。

ですが、BitmapDataとしてなら複製し、同時に二つ以上、表示する事も可能です。

今回は、Loaderでロードした画像をビットマップデータとして書き出すコードを掲載します。

手順

Loaderオブジェクトがファイルをロード

ロード完了後、BitmapData オブジェクトを定義し、widthとheightをLoaderのwidthとheightに設定する

BitmapData.draw(lo)。BitmapData.draw()メソッドの引数にLoader()オブジェクトを代入する

Bitmapオブジェクトを定義。生成時の引数に上記のBitmapDataオブジェクトを代入。

以上の流れでLoaderでロードしたオブジェクトを複製する事ができます。

//画像をロードするLoaderオブジェクト
var my_lo:Loader=new Loader();

my_lo.load(new URLRequest("sample.jpg"));

my_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,coHabdler)

addChild(my_lo)

function coHabdler(evt:Event)
{
trace("オブジェクトのロード完了");

//BitmapDataオブジェクトを複製する
var my_bmd:BitmapData = new BitmapData(my_lo.width, my_lo.height);

//BitmapDataにLoaderのデータを複製する
my_bmd.draw(my_lo);

//Bitmapオブジェクトを生成し引数にLoaderデータを複製したBitmapDataを代入

var my_bm:Bitmap = new Bitmap(my_bmd);

//
my_bm.x+=300;

addChild(my_bm);

}
posted by 神風記 at 21:12| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

2008年04月04日

[復習]loaderにロードされたswfがrootの変数を参照

rootにaddChildしたloaderオブジェクトがswfファイルをloadした際にloaderにロードされたswfがrootの変数を参照する方法を解説します。loaderにロードされたswfがrootの変数を参照する処理はFlashゲームを制作する上で使用頻度が高い処理だと思います。

loaderにloadされるswfがparentを参照するための変数を生成します。
loaderにloadされたswfにthis.parent.parentと記述し変数に代入する事でrootを参照する事ができます。
loadされるswfにsampleParentオブジェクトを生成。
var sampleParent=this.parent.parent。
rootに変数を生成。rootのloaderオブジェクトがswfファイルをロードする。loadされたswfファイルのオブジェクトをクリックするとrootの変数を参照する。


ソースコード 

rootに記述

var root_str:String="呼び出しもとのrootに設定した変数です";

var get_sp:Sprite=new Sprite();

get_sp.graphics.beginFill(0x000000);

get_sp.graphics.drawRect(0,0,100,100);

get_sp.graphics.endFill();

addChild(get_sp)

get_sp.addEventListener(MouseEvent.CLICK,clickHandler);

var sampleLoader:Loader=new Loader();

sampleLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);

function clickHandler(evt:Event)
{
sampleLoader.load(new URLRequest("set.swf"));
}

function completeHandler(evt:Event)
{
addChild(sampleLoader);
}


loaderにロードされるswfに記述。呼び出されたrootの変数を参照

var getRoot:Object=this;

var sansyouBtn:Sprite=new Sprite();

sansyouBtn.graphics.beginFill(0x000000);

sansyouBtn.graphics.drawRect(0,0,100,100);

sansyouBtn.graphics.endFill();

sansyouBtn.x=300;

addChild(sansyouBtn);

sansyouBtn.addEventListener(MouseEvent.CLICK,sansyouHandler);

function sansyouHandler(evt:Event)
{
trace("rootの変数を参照 ="+getRoot.parent.parent.root_str);
}
posted by 神風記 at 21:16| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

2008年04月03日

[復習]「split」でStringから任意の文字を区切り整理

「split」でStringから任意の文字を区切り整理します。

var arr:Array=new Array();

arr=str.split();

var arr:Array=str.split();

var my_arr:Array=my_arr=my_str.split(",");//

var my_str:String="black,0.5,0.02";

var my_arr:Array=my_arr=my_str.split(",");//そのまま代入

trace(my_arr[0])// black

trace(my_arr[1])// 0.5

trace(my_arr[2])// 0.02

trace(my_arr.length)//3
posted by 神風記 at 21:07| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

2008年04月02日

[復習]SharedObjectで生成したsolファイルへのパス

SharedObjectで生成したsolファイルへのパスを記述します。


C:\Documents and Settings\ユーザー名\Application Data\Macromedia\Flash Player\#SharedObjects
posted by 神風記 at 23:00| メモ(復習 走り書き) | このブログの読者になる | 更新情報をチェックする

2008年04月01日

[復習]?と:を使って条件分岐処理を行う

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

例文

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

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

という風に記述します。

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

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

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

var sample_ui:uint=10;
var sample2_ui:uint=8;

decisionCondition();
function decisionCondition(){


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

}

function trueMethod(){

trace(":(コロンの)前のtrueの場合の処理が実行されました")

}

function falseMethod(){
trace(":(コロン)の後のfalseの処理が実行されました");
}