boss_shot.Hの段階で「
1> コンパイル中...
1> boss_shotH.cpp
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: __thiscall D_btDiscreteDynamicsWorld::D_btDiscreteDynamicsWorld(class D_btDispatcher *,class D_btBroadphaseInterface *,class D_btConstraintSolver *,class D_btCollisionConfiguration *)" (??0D_btDiscreteDynamicsWorld@@QAE@PAVD_btDispatcher@@PAVD_btBroadphaseInterface@@PAVD_btConstraintSolver@@PAVD_btCollisionConfiguration@@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: __thiscall D_btSequentialImpulseConstraintSolver::D_btSequentialImpulseConstraintSolver(void)" (??0D_btSequentialImpulseConstraintSolver@@QAE@XZ)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: __thiscall D_btAxisSweep3::D_btAxisSweep3(class D_btVector3 const &,class D_btVector3 const &,unsigned short,class D_btOverlappingPairCache *,bool)" (??0D_btAxisSweep3@@QAE@ABVD_btVector3@@0GPAVD_btOverlappingPairCache@@_N@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""void * __cdecl D_btAlignedAllocInternal(unsigned int,int)" (?D_btAlignedAllocInternal@@YAPAXIH@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: __thiscall D_btCollisionDispatcher::D_btCollisionDispatcher(class D_btCollisionConfiguration *)" (??0D_btCollisionDispatcher@@QAE@PAVD_btCollisionConfiguration@@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: __thiscall D_btDefaultCollisionConfiguration::D_btDefaultCollisionConfiguration(struct D_btDefaultCollisionConstructionInfo const &)" (??0D_btDefaultCollisionConfiguration@@QAE@ABUD_btDefaultCollisionConstructionInfo@@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual void __thiscall D_btSphereShape::batchedUnitVectorGetSupportingVertexWithoutMargin(class D_btVector3 const *,class D_btVector3 *,int)const " (?batchedUnitVectorGetSupportingVertexWithoutMargin@D_btSphereShape@@UBEXPBVD_btVector3@@PAV2@H@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual class D_btVector3 __thiscall D_btSphereShape::localGetSupportingVertexWithoutMargin(class D_btVector3 const &)const " (?localGetSupportingVertexWithoutMargin@D_btSphereShape@@UBE?AVD_btVector3@@ABV2@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual class D_btVector3 __thiscall D_btSphereShape::localGetSupportingVertex(class D_btVector3 const &)const " (?localGetSupportingVertex@D_btSphereShape@@UBE?AVD_btVector3@@ABV2@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual void __thiscall D_btSphereShape::calculateLocalInertia(float,class D_btVector3 &)const " (?calculateLocalInertia@D_btSphereShape@@UBEXMAAVD_btVector3@@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual void __thiscall D_btConvexInternalShape::setLocalScaling(class D_btVector3 const &)" (?setLocalScaling@D_btConvexInternalShape@@UAEXABVD_btVector3@@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual void __thiscall D_btSphereShape::getAabb(class D_btTransform const &,class D_btVector3 &,class D_btVector3 &)const " (?getAabb@D_btSphereShape@@UBEXABVD_btTransform@@AAVD_btVector3@@1@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual void __thiscall D_btConvexInternalShape::getAabbSlow(class D_btTransform const &,class D_btVector3 &,class D_btVector3 &)const " (?getAabbSlow@D_btConvexInternalShape@@UBEXABVD_btTransform@@AAVD_btVector3@@1@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual void __thiscall D_btBoxShape::calculateLocalInertia(float,class D_btVector3 &)const " (?calculateLocalInertia@D_btBoxShape@@UBEXMAAVD_btVector3@@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual float __thiscall D_btCollisionShape::getContactBreakingThreshold(void)const " (?getContactBreakingThreshold@D_btCollisionShape@@UBEMXZ)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual float __thiscall D_btCollisionShape::getAngularMotionDisc(void)const " (?getAngularMotionDisc@D_btCollisionShape@@UBEMXZ)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual void __thiscall D_btCollisionShape::getBoundingSphere(class D_btVector3 &,float &)const " (?getBoundingSphere@D_btCollisionShape@@UBEXAAVD_btVector3@@AAM@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual void __thiscall D_btBoxShape::getAabb(class D_btTransform const &,class D_btVector3 &,class D_btVector3 &)const " (?getAabb@D_btBoxShape@@UBEXABVD_btTransform@@AAVD_btVector3@@1@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: void __thiscall D_btCollisionObject::setActivationState(int)" (?setActivationState@D_btCollisionObject@@QAEXH@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: __thiscall D_btRigidBody::D_btRigidBody(struct D_btRigidBody::D_btRigidBodyConstructionInfo const &)" (??0D_btRigidBody@@QAE@ABUD_btRigidBodyConstructionInfo@0@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""protected: __thiscall D_btConvexInternalShape::D_btConvexInternalShape(void)" (??0D_btConvexInternalShape@@IAE@XZ)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: __thiscall D_btPolyhedralConvexShape::D_btPolyhedralConvexShape(void)" (??0D_btPolyhedralConvexShape@@QAE@XZ)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: __thiscall D_btCapsuleShape::D_btCapsuleShape(float,float)" (??0D_btCapsuleShape@@QAE@MM@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""void __cdecl D_btAlignedFreeInternal(void *)" (?D_btAlignedFreeInternal@@YAXPAX@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual class D_btVector3 __thiscall D_btConvexInternalShape::localGetSupportingVertex(class D_btVector3 const &)const " (?localGetSupportingVertex@D_btConvexInternalShape@@UBE?AVD_btVector3@@ABV2@@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: virtual __thiscall D_btConvexShape::~D_btConvexShape(void)" (??1D_btConvexShape@@UAE@XZ)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: void __thiscall D_btGeneric6DofSpringConstraint::setEquilibriumPoint(void)" (?setEquilibriumPoint@D_btGeneric6DofSpringConstraint@@QAEXXZ)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: void __thiscall D_btGeneric6DofConstraint::calculateTransforms(void)" (?calculateTransforms@D_btGeneric6DofConstraint@@QAEXXZ)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: void __thiscall D_btGeneric6DofSpringConstraint::setStiffness(int,float)" (?setStiffness@D_btGeneric6DofSpringConstraint@@QAEXHM@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: void __thiscall D_btGeneric6DofSpringConstraint::enableSpring(int,bool)" (?enableSpring@D_btGeneric6DofSpringConstraint@@QAEXH_N@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: __thiscall D_btGeneric6DofSpringConstraint::D_btGeneric6DofSpringConstraint(class D_btRigidBody &,class D_btRigidBody &,class D_btTransform const &,class D_btTransform const &,bool)" (??0D_btGeneric6DofSpringConstraint@@QAE@AAVD_btRigidBody@@0ABVD_btTransform@@1_N@Z)" は未解決です。
1>DxUseCLib.lib(DxUseCLibPhysics.obj) : error LNK2001: 外部シンボル ""public: void __thiscall D_btRigidBody::setCenterOfMassTransform(class D_btTransform const &)" (?setCenterOfMassTransform@D_btRigidBody@@QAEXABVD_btTransform@@@Z)" は未解決です。
1>C:\Users\matukikun\Downloads\project\project\3章\Release\RyuJin.exe : fatal error LNK1120: 外部参照 32 が未解決です。
」
とエラーが出てしまいました。
release時のプロジェクトの設定はサイトを見て設定済みです。
原因や何か手がかりになるようなものを知っている方がいましたら教えて頂きたいです。
またboss_shothのソースものせておきます。
#include "../include/GV.h"
extern int move_boss_pos(double x1,double y1,double x2,double y2,double dist, int t);
extern int search_lazer();
extern int search_boss_shot();
extern double bossatan2();
extern void input_phy_pos(double x,double y,int t);
extern void input_lphy(lazer_t *laz, int time, double angle);
void boss_shot_bulletH000(){
#define TM000 120
int i,k,t=boss_shot.cnt%TM000;
double angle;
if(t<60 && t%10==0){
angle=bossatan2();
for(i=0;i<30;i++){if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].col = 0;
boss_shot.bullet[k].x = boss.x;
boss_shot.bullet[k].y = boss.y;
boss_shot.bullet[k].knd = 8;
boss_shot.bullet[k].angle = angle+PI2/30*i;
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 3;
se_flag[0]=1;
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet[i].flag>0){
}
}
}
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();//自機とボスの角度
if(cnum%4==3){//4ターンに1回移動
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();//自機-ボスの成す角
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カウントに1回下に落ちる弾を登録
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%6==0){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].col = 0;
boss_shot.bullet[k].x = boss.fix;
boss_shot.bullet[k].y = boss.fiy;
boss_shot.bullet[k].knd = 6;
boss_shot.bullet[k].angle = boss_shot.base_angle[0];
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 3;
se_flag[0]=0;
}
}
if(t==TM001-1){
cnum++;}
se_flag[4]=1;
}
void boss_shot_bulletH002(){
#define TM002 120
int i,k,t=boss_shot.cnt%TM002,m,x;
x=FMX;
if(t<60 && t%12==0){
for(i=0;i<15;i++){if((k=search_boss_shot())!=-1){
m=i%3;
x-=29;
if(x>350)
x-=300;
boss_shot.bullet[k].x =x;
boss_shot.bullet[k].y = GetRand(FMY);
switch(m){
case 0:
boss_shot.bullet[k].knd=12;
break;
case 1:
boss_shot.bullet[k].knd=13;
break;
case 2:
boss_shot.bullet[k].knd=14;
break;
}
boss_shot.bullet[k].angle = 0;
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 3;
se_flag[0]=1;
}
}
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet[i].flag>0){
}
}
}
void boss_shot_bulletH008(){
#define TM009 420
#define DIST 60
int i,j,k,s,t=boss_shot.cnt%TM009,t2=boss_shot.cnt;
double angle;
static int num;
if(t2==0)num=4;
if(t==0){
for(j=0;j<2;j++){
for(i=0;i<num;i++){
int plmn=(j ? -1 : 1);
if((k=search_lazer())!=-1){
lazer[k].col = j;//弾の色
lazer[k].knd = 0;//弾の種類
lazer[k].angle = PI2/num*i+PI2/(num*2)*j+PI2/(num*4)*((num+1)%2);//角度
lazer[k].startpt.x= boss.x+cos(lazer[k].angle)*DIST;//描画し始める座標
lazer[k].startpt.y= boss.y+sin(lazer[k].angle)*DIST;
lazer[k].flag = 1;//表示するか 0:しない 1:する
lazer[k].cnt = 0;
lazer[k].haba = 2;//幅
lazer[k].state = j;//
lazer[k].length = 240;//長さ
lazer[k].hantei = 0;//あたり判定をするか 0:しない 1:する
lazer[k].lphy.conv_flag=1;//回転するか 0:しない 1:する
lazer[k].lphy.conv_base_x=boss.x;//回転の基準となる座標
lazer[k].lphy.conv_base_y=boss.y;
lazer[k].lphy.conv_x=lazer[k].startpt.x;//回転するレーザーの位置
lazer[k].lphy.conv_y=lazer[k].startpt.y;
input_lphy(&lazer[k],80,PI/num*plmn);//k番目のレーザーを、80カウントで、PI/num*plmnの角度だけ回転する情報を登録
}
}
}
se_flag[33]=1;
}
//60カウント以下で10カウントに1回
if(t==50){
angle=rang(PI);//自機とボスとの成す角
for(s=0;s<2;s++){
for(t=0;t<3;t++){
for(j=0;j<3;j++){
for(i=0;i<30;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].col = s;//弾の色
boss_shot.bullet[k].x = boss.x;//座標
boss_shot.bullet[k].y = boss.y;
boss_shot.bullet[k].knd = 11;//弾の種類
boss_shot.bullet[k].angle = angle+PI2/30*i+PI2/60*s;//角度
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 1.8-0.2*j+0.1*s;//スピード
boss_shot.bullet[k].eff = 0;
boss_shot.bullet[k].state = t;
}
se_flag[0]=1;
}
}
}
}
}
if(t>=170 && t<310 && (t-170)%35==0){
int div=((t-170)%70==0) ? -1 : 1;
angle=rang(PI);//自機とボスとの成す角
for(s=0;s<2;s++){//速度の違う2つの弾がある
for(t=0;t<3;t++){//1箇所から3つにわかれる
for(i=0;i<30;i++){//1周30個
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].col = 2;//弾の色
boss_shot.bullet[k].x = boss.x;//座標
boss_shot.bullet[k].y = boss.y;
boss_shot.bullet[k].knd = 11;//弾の種類
boss_shot.bullet[k].angle = angle+PI2/30*i;//角度
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 2-0.3*s;//スピード
boss_shot.bullet[k].eff = 0;
boss_shot.bullet[k].state = 10+t;
boss_shot.bullet[k].base_angle[0] = PI/300*div;
}
}
}
se_flag[0]=1;
}
}
if(t==360){
angle=rang(PI);//自機とボスとの成す角
for(t=0;t<3;t++){//1箇所から3つに分かれる
for(i=0;i<30;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].col = 1;//弾の色
boss_shot.bullet[k].x = boss.x;//座標
boss_shot.bullet[k].y = boss.y;
boss_shot.bullet[k].knd = 0;//弾の種類
boss_shot.bullet[k].angle = angle+PI2/30*i;//角度
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 1.8;//スピード
boss_shot.bullet[k].eff = 1;
boss_shot.bullet[k].state = 20+t;
}
}
}
se_flag[0]=1;
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet[i].flag>0){
int cnt=boss_shot.bullet[i].cnt;
int state=boss_shot.bullet[i].state;
if(state%10==0){
if(cnt>90 && cnt<=100)
boss_shot.bullet[i].spd-=boss_shot.bullet[i].spd/220;
}
if(state%10==1){
if(cnt>50)
boss_shot.bullet[i].spd+=boss_shot.bullet[i].spd/45;
}
if(state%10==2){
if(cnt>65)
boss_shot.bullet[i].spd+=boss_shot.bullet[i].spd/90;
}
if(10<=state && state<=12){
if(cnt>15 && cnt<=80)
boss_shot.bullet[i].angle+=boss_shot.bullet[i].base_angle[0];
}
}
}
for(i=0;i<LAZER_MAX;i++){
if(lazer[i].flag>0){
int cnt=lazer[i].cnt;
int state=lazer[i].state;
if(state==0 || state==1){
if(cnt==80){
lazer[i].haba=30;
lazer[i].hantei=0.5;
}
if(cnt>=260 && cnt<=320){
if(cnt==280)
lazer[i].hantei=0;
lazer[i].haba=10*(60-(cnt-260))/60.0;
if(cnt==320)
lazer[i].flag=0;
}
}
}
}
if(t==TM009-1)
num=(++num);
}
void boss_shot_bulletH009(){
#define TM009 420
#define DIST 60
int i,j,k,s,t=boss_shot.cnt%TM009,t2=boss_shot.cnt;
double angle;
static int num;
if(t2==0)num=4;
if(t==0){
for(j=0;j<2;j++){
for(i=0;i<num;i++){
int plmn=(j ? -1 : 1);
if((k=search_lazer())!=-1){
lazer[k].col = j;//弾の色
lazer[k].knd = 0;//弾の種類
lazer[k].angle = PI2/num*i+PI2/(num*2)*j+PI2/(num*4)*((num+1)%2);//角度
lazer[k].startpt.x= boss.x+cos(lazer[k].angle)*DIST;//座標
lazer[k].startpt.y= boss.y+sin(lazer[k].angle)*DIST;
lazer[k].flag = 1;
lazer[k].cnt = 0;
lazer[k].haba = 2;//スピード
lazer[k].state = j;
lazer[k].length = 310;
lazer[k].hantei = 0;
lazer[k].lphy.conv_flag=1;
lazer[k].lphy.conv_base_x=boss.x;
lazer[k].lphy.conv_base_y=boss.y;
lazer[k].lphy.conv_x=lazer[k].startpt.x;
lazer[k].lphy.conv_y=lazer[k].startpt.y;
input_lphy(&lazer[k],80,PI/num*plmn);
}
}
}
se_flag[33]=1;
}
//60カウント以下で10カウントに1回
if(t==50){
angle=rang(PI);//自機とボスとの成す角
for(s=0;s<2;s++){
for(t=0;t<3;t++){
for(j=0;j<3;j++){
for(i=0;i<30;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].col = s;//弾の色
boss_shot.bullet[k].x = boss.x;//座標
boss_shot.bullet[k].y = boss.y;
boss_shot.bullet[k].knd = 11;//弾の種類
boss_shot.bullet[k].angle = angle+PI2/30*i+PI2/60*s;//角度
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 1.8-0.2*j+0.1*s;//スピード
boss_shot.bullet[k].eff = 0;
boss_shot.bullet[k].state = t;
}
se_flag[0]=1;
}
}
}
}
}
if(t>=170 && t<310 && (t-170)%35==0){
int div=((t-170)%70==0) ? -1 : 1;
angle=rang(PI);//自機とボスとの成す角
for(s=0;s<2;s++){//速度の違う2つの弾がある
for(t=0;t<3;t++){//1箇所から3つにわかれる
for(i=0;i<30;i++){//1周30個
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].col = 2;//弾の色
boss_shot.bullet[k].x = boss.x;//座標
boss_shot.bullet[k].y = boss.y;
boss_shot.bullet[k].knd = 11;//弾の種類
boss_shot.bullet[k].angle = angle+PI2/30*i;//角度
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 2-0.3*s;//スピード
boss_shot.bullet[k].eff = 0;
boss_shot.bullet[k].state = 10+t;
boss_shot.bullet[k].base_angle[0] = PI/300*div;
}
}
}
se_flag[0]=1;
}
}
if(t==360){
angle=rang(PI);//自機とボスとの成す角
for(t=0;t<3;t++){//1箇所から3つに分かれる
for(i=0;i<30;i++){
if((k=search_boss_shot())!=-1){
boss_shot.bullet[k].col = 1;//弾の色
boss_shot.bullet[k].x = boss.x;//座標
boss_shot.bullet[k].y = boss.y;
boss_shot.bullet[k].knd = 0;//弾の種類
boss_shot.bullet[k].angle = angle+PI2/30*i;//角度
boss_shot.bullet[k].flag = 1;
boss_shot.bullet[k].cnt = 0;
boss_shot.bullet[k].spd = 1.8;//スピード
boss_shot.bullet[k].eff = 1;
boss_shot.bullet[k].state = 20+t;
}
}
}
se_flag[0]=1;
}
for(i=0;i<BOSS_BULLET_MAX;i++){
if(boss_shot.bullet[i].flag>0){
int cnt=boss_shot.bullet[i].cnt;
int state=boss_shot.bullet[i].state;
if(state%10==0){
if(cnt>90 && cnt<=100)
boss_shot.bullet[i].spd-=boss_shot.bullet[i].spd/220;
}
if(state%10==1){
if(cnt>50)
boss_shot.bullet[i].spd+=boss_shot.bullet[i].spd/45;
}
if(state%10==2){
if(cnt>65)
boss_shot.bullet[i].spd+=boss_shot.bullet[i].spd/90;
}
if(10<=state && state<=12){
if(cnt>15 && cnt<=80)
boss_shot.bullet[i].angle+=boss_shot.bullet[i].base_angle[0];
}
}
}
for(i=0;i<LAZER_MAX;i++){
if(lazer[i].flag>0){
int cnt=lazer[i].cnt;
int state=lazer[i].state;
if(state==0 || state==1){
if(cnt==80){
lazer[i].haba=10;
lazer[i].hantei=0.5;
}
if(cnt>=260 && cnt<=320){
if(cnt==280)
lazer[i].hantei=0;
lazer[i].haba=10*(60-(cnt-260))/60.0;
if(cnt==320)
lazer[i].flag=0;
}
}
}
}
if(t==TM009-1)
num=(++num);
}