Hatena::ブログ(Diary)

satoru.netの自由帳 このページをアンテナに追加 RSSフィード

080516Friday

[]なかまが増えすぎた!

どうせならとおもって、一気に10人仲間にしてみた。ww

長い旅になるもんな。仲間は多い方がイイにきまってる!

  • マップ移動したら仲間が消えるバグ修正
  • 仲間の数を可変できるようになった
  • 移動後の画面の切り替え時にフィードアウト、フィードインするように。
  • 障害物に当たったとき、仲間は移動しない

http://satoru.net/test/rpg/080516_02/main.pl

f:id:satoru_net:20080516050611p:image

仲間がついてくるロジック

仲間を追加
var friends = new Array();
for(var i=0;i<MEMBER_MAX;i++){
 friends.push(new Chara(hoge));
}
ついてくる

移動処理の後のイベント関数に、移動方向を一個ずつずらす関数をいれてみたよ。

つまりこんなかんじのイメージ。

 ◎→

  ●

   ●

    ●

 ◎↑

  ●→

   ●

    ●

 ◎←

  ●↑

   ●→

    ●

関数でかくと

moveHistory[0] = keyPressed;

for(var i=MEMBER_MAX;i>0;i--){
 if(moveHistory[i]) friends[i].move(moveHistory[i]);
 moveHistory[i+1] = moveHistory[i];
 }
}

[]おうさまが仲間に加わった!

ひさしぶりの更新ー。なかまを増やせるようにしてみた。


  • 王様が仲間に加わった!(まだマップ移動すると居なくなったり、へんなとこウロウロするけどねww)
  • デバッグの数字とか出るようにした
  • マップチップが未定義の場合、進めないようにした。(黒いトコを無限にいけるバグ解消)

http://satoru.net/test/rpg/080516_01/main.swf

f:id:satoru_net:20080516041225p:image

080509Friday

[]おお、ちょうどいいじゃんww

ゲーム制作に使えそうなフリーフォント集 - ネットサービス研究室

いやはや、これはありがたい、早速使おうw

080508Thuday

[]タイマツモード

タイマツモードを実装した。洞窟にはいると真ん丸になるやつねー。

http://satoru.net/test/rpg/080508_03/main.swf


・・・さとるはちからつきた。しばらく、RPG開発はちょっと休む。飽きたw

f:id:satoru_net:20080509195451p:image

[]ちと飽きた

ので、しばらくお休み

[]敵があらわれた

http://satoru.net/test/rpg/080508_02/main.swf

戦闘シーンを追加した。

といっても、出現するだけだけどw

いまのところ、外でウロウロしてると、

2匹のモンスターがランダムにでます。

f:id:satoru_net:20080509195507p:image


追記(13:30):

戦闘画面の出方をアニメーション上にした

  var myTransitionManager:TransitionManager = new TransitionManager(window);
  myTransitionManager.startTransition({type:Blinds, direction:Transition.IN, duration:.5, easing:None.easeNone, numStrips:10});

f:id:satoru_net:20080509195809p:image

ビロビロでるあれね。AS3に丁度、ビンゴなメソッドがるんだもんね。ナイスまくろめでぃあ

[]会話部分のアレ

会話をしてスクロールの部分で「▼」まーくみたいのがでてきて、

エンターとかをおすと、上にスクロールして次のメッセージがでてくるみたいな、

メッセージボックスのページングのやり方を考える。

f:id:satoru_net:20080508110055p:image

やりかた

textFieldのscrollを使って本当はつくりたかったんだけど、

なんかようわからんので断念。一回一回、削除して、

次のメッセージを表示する。

ぴろぴろ部分はTimerで。

プレビュー

http://satoru.net/test/rpg/080508_01/test.pl

メッセージの変更もできるよー

http://satoru.net/test/rpg/080508_01/test.pl?q=RPG%E3%82%92%E3%81%A4%E3%81%8F%E3%82%8D%E3%81%86

ソース

http://satoru.net/test/rpg/080508_01/main.as

http://satoru.net/test/rpg/080508_01/test.fla

080507Wedday

[]会話ができるようになった

http://satoru.net/test/rpg/080507_03/main.swf

人々と会話できるようになったよ。

SPACEキーで会話。

f:id:satoru_net:20080509200110p:image



・・・いやーついに・・・だ。

会話ができるゾーンは今までの衝動的にRPG作る暦ではじめてじゃないか。。(o(´∀`)o)ワクワク

この調子だと、武器屋はもーすぐできちゃいそだな。


追記(22:00):

テーブル越に話せるようになった。これで武器屋のおっさんと会話できる!!!!!!!!!!!!!

URYYYAAA

f:id:satoru_net:20080509200155p:image


追記(22:58):

バリアと毒に触れたときに、画面がクラッシュ&しゃきしゃき音を鳴らす地形イベントを追加した。

以前つくってたRPGで使った関数が役立った〜。

f:id:satoru_net:20080509200237p:image


以前つくってたRPG

no title

	// 地形イベント
	switch(mapNo){
		case(Chipset.BARRIER):
			new barrierSound().play();
			stage.transform.colorTransform = new ColorTransform(.3,.3,.3);
			setTimeout(function(){stage.transform.colorTransform = new ColorTransform()} , 50);
		break;
		case(Chipset.POISON):
			new barrierSound().play();
			stage.transform.colorTransform = new ColorTransform(1,.5);
			setTimeout(function(){stage.transform.colorTransform = new ColorTransform()} , 50);
		break;
	}

今日の更新

今日の更新はここまで〜

と、おもったら、改良してしまった!

会話を一回に表示させるんじゃなくて、ぴろぴろ表示を実装した!

[]かなりパワーアップ

  • 移動イベント完成→マップ間を移動できるようになった
  • 音楽をつけた
  • スクロール処理を見直した
  • 背景マップの処理を勇者の範囲のみ描写するように

http://satoru.net/test/rpg/080507_02/main.pl

もー、割と普通なRPGになってきたの( ^ω^ )ニコニコ


ソース

配るのが面倒になってきたから配布中止。

ほしかったらあげるからメールくれぽ

[]スクロール+BGM+その他いろいろ

あー、なんかだいぶ集中して作りこんだー。

とりあえず、

  • スクロールがだいぶできた
  • BGMつけた

080506Tueday

[]勇者がうまれた

やっとこさ、主人公が登場!

まだ動きが変だけど、そこは今後調整していくお。

十字キーでうごくよー

http://satoru.net/test/rpg/080506_04/main.pl?map=town

http://satoru.net/test/rpg/080506_04/main.pl?map=castle

f:id:satoru_net:20080509200337p:image

[]障害物&他キャラを認識するよーに

やたー。だいぶゲームっぽくなってきた!

すりぬけまくり解消。障害物とか、他人を認識できるよーになったよー。

http://satoru.net/test/rpg/080506_03/main.swf


f:id:satoru_net:20080509200528p:image

ウロウロ(いつもより倍速にしてます)


ソース

chara.asをupdate

    public function isHit(x:int, y:int) {
        if (mapData[y][x] == Chipset.WALL || 
            mapData[y][x] == Chipset.THRONE ||
            mapData[y][x] == Chipset.WATER || 
            mapData[y][x] == Chipset.MOUNTAIN ||
            mapData[y][x] == Chipset.WEAPON || 
            mapData[y][x] == Chipset.ITEM ||
            mapData[y][x] == Chipset.INN) {
            return false;
        }
        

        // 他のキャラクターがいるか
        var charas = getEvents();
        for (var i = 0; i < charas.length; i++) {
            var chara = charas[i];
            if (chara.getX() == x && chara.getY() == y) {
                return false;
            }
        }
        return true;
 }

[]クラスに分ける作業

見た目的には、な〜んにもかわってないんだけど、

rootに展開してたMap関連の処理やらなんやら細かいのをクラスに別ける作業をやった。

dispatchEvent、意外としらなくて感動したので、早速使った!

これはマジで便利だわー。今まで常にcallbackの関数参照を渡してたりしてた!恥ずかしい!

var map = new Map("castle",stage);

map.addEventListener("mapComplete",mapLoaded);

ってかんじで、呼び出せるようになってスッキリした〜。

ついでに、main部もmain.asって感じで別けた。

見る

http://satoru.net/test/rpg/080506_02/main.swf

ソース

http://satoru.net/test/rpg/080506_02/main.fla

http://satoru.net/test/rpg/080506_02/main.as

http://satoru.net/test/rpg/080506_02/Events.as

http://satoru.net/test/rpg/080506_02/Direction.as

http://satoru.net/test/rpg/080506_02/Chipset.as

http://satoru.net/test/rpg/080506_02/Chara.as

[]イベントマップ(階段、扉、キャラの配置)

# アレフガルド

MOVE,-1,-1,-1,2,10,10

CHARA,18,16,7,0,0,ここは やどやです。

CHARA,11,19,7,2,0,ここは ぶきやです。

CHARA,6,12,5,0,0,ここは どうぐやです。\nやくそうは どうですか?

CHARA,1,14,4,3,0,いだいな ぎんゆうしじん\nガライのまちへ ようこそ!

DOOR,5,7

こんな感じのテキストデータを読み込んで、

キャラ、階段、扉とかとかを設置するイベント処理を追加した。

最初のString型の文字で、キャラ系の処理か、マップ系の処理かを分けて、

MOVEだったら、移動処理イベント+マップチップを追加。

CHARAだったら、マップチップ+話しかけたらこうしゃべろ!な処理を追加!みたいなかんじ。

一昨日、new Chara()を作っておいたからここは呼び出すだけだから、楽珍アルね。

function makeChara(line){
		var ar = line.split(",");
		var obj = {
			type : ar[0],
			x : ar[1],
			y : ar[2],
			chara :ar[3],
			direction : ar[4],
			moveType : ar[5],
			string : ar[6],
			map : stage
		};
	var chara = new Chara(obj);
	charas.push(chara);
}

プレビュー

http://satoru.net/test/rpg/080506_01/main.swf?map=town

f:id:satoru_net:20080506021808j:image

おー、武器屋におっさんがたってる!

http://satoru.net/test/rpg/080506_01/main.swf?map=castle

f:id:satoru_net:20080506021807j:image

階段も出現


まだみんな、壁をつくぬけるけど、

だいぶ、っぽくなってきたなあ。

ソース

http://satoru.net/test/rpg/080506_01/main.fla

[]マップ読み出しの改良とキャラ増加

http://satoru.net/test/rpg/080505_01/main.pl?map=castle

f:id:satoru_net:20080506010745j:image

ウロウロするだけflash

今日はあんま進まなかったけど、

とりあえず1日1更新を目標って事にしておこう。

今日の進展は、画像を呼び出すロジックと、描画部分を見直したお。


あと、画像を外部に設置して読み出すのだと、なぜかFFとIEで挙動がちがくて

原因を追うのは面倒くさいので、flash内のライブラリに設置することでとりあえず解決。


画像が逆だったのも修正。単純な問題で、

var mapNo = map[X][Y];

var mapNo = map[Y][X];

だけの問題だた。

©satoru.net
Mail Twitter