第二十七章 制作弹幕——“沉默的圣奈”

>>点此回到教程目录

弹幕名:沉默的圣奈(サイレントセレナ)(Silence Seirai)

制作难易度:★ (1/10)


运行结果


第一回弹幕制作讲座我们将制作弹幕——“沉默的圣奈”。

这个弹幕为圆形散开连续发射的子弹和随机地往下掉落子弹组成,非常简单,因此实现起来也很轻松。

.base_angle中保存每1回弹幕开始时自机与Boss的角度,以此为基准进行圆形发射。

程序的流程请参考注释。

—-在boss_shotH.cpp 中进行以下追加 —-

//沉默的圣奈
void boss_shot_bulletH001(){
#define TM001 60
    int i,k,t=boss_shot.cnt%TM001,t2=boss_shot.cnt;
    static int cnum;
    double angle;
    if(t2==0)//最开始的初始化
        cnum=0;
    if(t==0){//每1次弹幕最开始的初始化
        boss_shot.base_angle[0]=bossatan2();//自机与Boss的角度
        if(cnum%4==3){// 4次弹幕移动一次
            move_boss_pos(40,30,FMX-40,120,60, 60);
        }
    }
        //1次弹幕的最开始是自机狙,到了一半之后从自机狙错开
    if(t==TM001/2-1)
        boss_shot.base_angle[0]+=PI2/20/2;
        //1次弹幕发射10次圆形子弹
    if(t%(TM001/10)==0){
        angle=bossatan2();//自机-Boss之间的角度
        for(i=0;i<20;i++){//20个
            if((k=search_boss_shot())!=-1){
                boss_shot.bullet[k].col   = 4;
                boss_shot.bullet[k].x     = boss.x;
                boss_shot.bullet[k].y     = boss.y;
                boss_shot.bullet[k].knd   = 8;
                                //从基本角度开始旋转20次并发射
                boss_shot.bullet[k].angle = boss_shot.base_angle[0]+PI2/20*i;
                boss_shot.bullet[k].flag  = 1;
                boss_shot.bullet[k].cnt   = 0;
                boss_shot.bullet[k].spd   = 2.7;//速度
                se_flag[0]=1;
            }
        }
    }
        //4次计数掉落一次的子弹的登录
    if(t%4==0){
        if((k=search_boss_shot())!=-1){
            boss_shot.bullet[k].col   = 0;
            boss_shot.bullet[k].x     = GetRand(FMX);
            boss_shot.bullet[k].y     = GetRand(200);
            boss_shot.bullet[k].knd   = 8;
            boss_shot.bullet[k].angle = PI/2;//直角
            boss_shot.bullet[k].flag  = 1;
            boss_shot.bullet[k].cnt   = 0;
            boss_shot.bullet[k].spd   = 1+rang(0.5);
            se_flag[0]=1;
        }
    }
    if(t==TM001-1)
        cnum++;
}

也请确认变更了的func.h。

>>点此回到教程目录

results matching ""

    No results matching ""