void enemy_pattern0(int i){
if(enemy.count<60){
enemy.y+=12;
}
if(enemy.count>60+240){
enemy.y-=12;
}
}
void EnemyMove(){
//敵データの登録
if(stage_count=100){
enemy[0].count=0;
enemy[0].x=FIELD_X+FIELD_MAX_X/2;
enemy[0].y=100;
enemy[0].flag=1;
enemy[0].muki=1;
enemy[0].pattern=0;
}
;//敵の行動制御
int i;
for(i=0;i<=100;i++){
if(enemy.flag==1){//その敵のフラグがオンになってたら
enemy_pattern0(i);
enemy.count++;
DrawRotaGraphF(enemy.x,enemy.y,1.0f,0.0f,img_zako[enemy.muki],TRUE);
//敵が画面から外れたら消す
if(enemy.x<FIELD_X||FIELD_X+FIELD_MAX_X<enemy[i].x
||enemy[i].y<FIELD_Y||FIELD_Y+FIELD_MAX_Y<enemy[i].y)
enemy[i].flag=0;
}
}
printfDx("count=%d stage=%d",enemy[0].count,stage_count);
}
このソースコードなのですが敵が初期位置に配置されてから動きません。(敵は1体enemy[0]のみです)
printfDx関数で調べてみるとenemy[0].count=1,stage_count=100が繰り返されています。(最後のコードです)
mainのソースコードの一部を以下に貼らせていただきます。stage_countはこちらで加算しています。
case 99:
Ini();
game_state++;
stage_count=1;
break;
case 100://ゲーム本編
MycharaMove();
MyshotMove();
EnemyMove();
stage_count++;
break;
どうかよろしくお願いします。
敵キャラが動かない
Re:敵キャラが動かない
stage_countに100を毎回代入していますね。 //敵データの登録 if(stage_count=100){ を if(stage_count==100){ に直してみてください。
後、ソースコードはpreタグで囲んでください。