>>点此回到教程目录
基本的部分我们全都做出来了。
作为继续对细小部分的调整,现在我们来试着大致地制作一面吧。
虽然这么说,由于计算处理、登录处理、绘制处理等处理早已完成了,因此现在我们只需要稍微修改Excel数据和设定部分就行了。
嘛,虽然说这个“稍微”在Excel数据上反映出来并不是那么容易就是了……
直到Stage的标题名显示为止的操作都和之前的一样。
敌人散乱地落下来并射出自机狙……
之类的,至于要做什么样子的Stage比起用文字说明还是您自行看看动画会比较好吧。
由于这次的动画长度稍微有点长,所以放到了别的页面里。
请点击这里的图像进入动画页面。 (原文是这个样子,但是这里直接贴出视频)
运行结果
Excel数据的话就是这个感觉的:
一行以“/”开始的是注释。
计数器的值是在游戏画面左上角显示的数字。
嘛,细节的设定之前已经说过了。
建议您观看动画以确认各个值和运行结果动画是如何对应的。
此外,这里我按照自己的想法摆弄了一下,您也可以试试按照自己的想法自行安排。
这个时候请注意不要出现这种情况:改变了子弹的种类但是却指定了没有对应颜色的编号。
移动模式是“enemy_act_pattern.cpp”
弹幕的种类是“shotH.cpp”
子弹种类的图像文件夹是bullet文件夹
道具的种类的话您可以试着阅读out.cpp的第102行来进行各种调整。
另外,现在我们也进行了以下部分的变更。
—-在 func.h 中进行以下部分的变更 —-
void (*boss_shot_bullet[DANMAKU_MAX])() = { //中路Boss boss_shot_bulletH000,//normal boss_shot_bulletH002,// SC~完美冻结~ //终路Boss boss_shot_bulletH001,// normal~沉默的圣奈~ boss_shot_bulletH004,//SC~小小青蛙~ boss_shot_bulletH009,//SC~反魂蝶 //终止 boss_shot_bulletH000,//防止出现NullPointrException用(这个弹幕不会显示)(译者注:ぬるぽ这个词也能用说明Dixq没少逛2ch啊……) };
—-在 load.cpp 的 load_story() 进行红字部分变更 —-
/***修改请注意***/ char fname[32]={"../dat/csv/47章/storyH0.csv"}; /***修改请注意***/
—-在 ini.cpp 中进行红字部分变更 —-
/***修改请注意***/ /*我们以后再在这里进行完整的设定*/ int back_knd[DANMAKU_MAX]={ 0,1,0,1,1, }; int boss_hp[DANMAKU_MAX]={ 5000,10000,8000,20000,30000, }; /*到此为止*/ /***修改请注意***/ //游戏的初始化 void ini(){ stage_count=1; memset(&ch,0,sizeof(ch_t)); memset(enemy,0,sizeof(enemy_t)*ENEMY_MAX); memset(lazer,0,sizeof(lazer_t)*LAZER_MAX); memset(enemy_order,0,sizeof(enemy_order_t)*ENEMY_ORDER_MAX); memset(shot,0,sizeof(shot_t)*SHOT_MAX); memset(cshot,0,sizeof(cshot_t)*CSHOT_MAX); memset(effect,0,sizeof(effect_t)*EFFECT_MAX); memset(del_effect,0,sizeof(del_effect_t)*DEL_EFFECT_MAX); memset(&bom,0,sizeof(bom_t)); memset(&bright_set,0,sizeof(bright_set_t)); memset(&dn,0,sizeof(dn_t)); memset(&boss,0,sizeof(boss_t)); memset(child,0,sizeof(child_t)*CHILD_MAX); memset(&stage_title,0,sizeof(stage_title_t)); memset(item,0,sizeof(item_t)*ITEM_MAX); ch.x=FMX/2; ch.y=FMY*3/4; ch.power=0;//初始化power(41) ch.num=5;//初始化残机数(41) stage_title.appear_cnt=stage_title_count[stage]; /*弹幕的各自设定。放在后面好好设定吧。*/ /***修改请注意***/ boss.appear_count[0]=1650;//中路Boss出现的时刻(42)(47) boss.appear_count[1]=2850;//终路Boss出现的时刻(44)(47) /***修改请注意***/ boss.danmaku_num[0]=1;//中路Boss放多少个弹幕 /***修改请注意***/ boss.danmaku_num[1]=4;//终路Boss放多少个弹幕 (47) /***修改请注意***/ for(int i=0;i<DANMAKU_MAX;i++){//弹幕的各自HP(47) /***修改请注意***/ boss.set_hp[i]=boss_hp[i]; /***修改请注意***/ } /***修改请注意***/ boss.hp_max=boss.set_hp[0]; /***修改请注意***/ for(int i=0;i<DANMAKU_MAX;i++)//弹幕的各自背景种类 boss.back_knd[i]=back_knd[i]; /*到此为止*/ bright_set.brt=255;//初期亮度最大 }
弹幕的顺序就是放入boss_shot_bullet中的顺序。
您可以对照着boss_shotH.cpp来决定顺序。
back_knd和boss_hp是各自弹幕时候的背景种类以及敌人的体力。
在这里为了便于理解适当地放入了变量中,我们将在后面完整地进行处理。
如何?很好地运行了么?
是不是终于开始有一种这是游戏的感觉了呢?
下一章我们将会让音乐也播放出来让游戏更有气氛。