関数ポインタの引数について
Posted: 2009年10月31日(土) 17:28
関数ポインタの引数についてなんですが、敵の行動パターン制御で龍神録では関数ポインタを使っていて
私もそれを利用しようと改造してみたら、うまくいきません。調べてみるとうまく代入されてないようで、
おそらく関数ポインタの引数が原因ではないかという結論に至りました。
しかし、これだと思うものにしてみたら、コンパイルが通りません。
どうすればいいでしょうか?
私もそれを利用しようと改造してみたら、うまくいきません。調べてみるとうまく代入されてないようで、
おそらく関数ポインタの引数が原因ではないかという結論に至りました。
しかし、これだと思うものにしてみたら、コンパイルが通りません。
どうすればいいでしょうか?
extern void enemy_pattern0(enemy_t *enemy); void (*enemy_pattern[ENEMY_PATTERN_MAX])(enemy_t *enemy) = { enemy_pattern0(enemy), }; void calc_enemy(){ enemy_t *p; p=head_enemy; if(p!=NULL) while(p!=NULL){ if(p->flag==1){ if(p->pattern<ENEMY_PATTERN_MAX) enemy_pattern[p->pattern](p); } p=p->next; } } //移動パターン0 //下がってきて停滞して上がっていく void enemy_pattern0(enemy_t *enemy){ int t=enemy->cnt; if(t==0) enemy->vy=3;//下がってくる if(t==40) enemy->vy=0;//止まる if(t==enemy->wait)//登録された停滞時間だけして enemy->vy=-3;//上がっていく }