忍者ブログ

幻日記

お絵描き&ゲーム制作好きの ひとりごと日記

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

AS3横スクロールアクションゲーム制作9

Flash+AS3で作る横スクロールアクションゲーム
今回実装したのは横スクロールです。
これがないと横スクロールとは言えないですよね。


以前と全く操作は変ってませんが…
 ←or→ …移動
 ↑    …ジャンプ
 スペース…①アイテム取得前だと殴り ②取得後だと飛び道具

前回のまとめを参考にコードを打っていくとワリに簡単に仕上がりました。
気休め程度に書いてたつもりだったのですが、案外役に立ちました(・ω・)b

まだ直していない不具合として、地面に置いてあるブロックに主人公が
ぶつかりつづけると画面だけ徐々にスクロールしてしまいます…!
この原因は大体わかってるつもりです。
「画面をスクロールするのは主人公が移動中の場合のみ」という記述になっていて
主人公がブロックにめり込み、位置修正をした場合のスクロールを行っていないのが
原因だと思います。


今後実装していく内容
①敵を本格的に作る(移動、攻撃)
②タイトル画面の実装
③SE・BGMの実装
④主人公と敵のあたり判定
⑤ポスター制作


一応メモとして残したいのでコード部分の一部を載せておきます(´=ω=`)b

↓毎フレーム実行させる部分に書く

//■スクロール処理----------------------------------------
//↑注:処理をもっと早めに行う必要が出てくることも考えられる
if(SCX==-1 && Syuzinko.x>stage.stageWidth/2 && vx>0){//SCXを-1→0に切り替える
SCX = 0;
Syuzinko.x = stage.stageWidth/2;
}else if(scroll_x<0 && SCX==0 && vx<0){//SCXを0→-1に切り替える
SCX = -1;
}else if(scroll_x>1000 && SCX==0){//SCXを0→1に切り替える
SCX = 1;
}else if(SCX==1 && Syuzinko.x<stage.stageWidth/2 && vx<0){//SCXを1→0に切り替える
SCX = 0;
}
//□スクロール中の処理
if(SCX==0){//SCXが1の時の処理
scroll_x += vx;//主人公の横加速をscroll_xへ代入
backGround02(bush).x -= vx;//背景も比例して移動させる
if(block_array.length != 0){
for(i = 0 ; i < block_array.length ; i ++){//ブロック配列をすべてスクロール
//block_array[block_array.length-1].x -= vx/2;
block_array[i].x -= vx;
 
}
}
if(item_array01.length != 0){//アイテム配列すべてをスクロール
for(i = 0 ; i < item_array01.length ; i ++) {
item_array01[i].x -= vx;
}
}
if(enemy_array01.length != 0){
for(i = 0 ; i < enemy_array01.length ; i++){
enemy_array01[i].x -= vx;
}
}
if(attack_array01.length != 0){
for(i = 0 ;i < attack_array01.length ; i++){
attack_array01[i].x -=vx;
}
}
if(bullet_array01.length != 0){
for(i = 0 ;i < bullet_array01.length ; i++){
bullet_array01[i].x -=vx;
}
}
}
 


拍手