ページ 11

ポインタエラー

Posted: 2009年7月12日(日) 06:34
by res
25章の「ボスに当たり判定をつけてみよう」で
7回弾幕を終えるとポインタエラーになると書いてありますが
これはなぜなんですか?また、そのエラーの原因となるソースはどこですか?
7回以上弾幕を増やす方法はないんでしょうか?

Re:ポインタエラー

Posted: 2009年7月12日(日) 09:43
by yu
func.h で定義されている void (*boss_shot_bullet[DANMAKU_MAX])()
に弾幕関数への関数ポインタが登録されていないからではないでしょうか

弾幕を増やしたいのでしたら、配列の中に

boss_shot_bulletH000,

をたくさん書けば良いと思います

Re:ポインタエラー

Posted: 2009年7月12日(日) 12:49
by Dixq (管理人)
ポインタ配列の要素は

#define DANMAKU_MAX 7

により、7つしか用意されていませんが、
弾幕番号がインクリメントされて、7以上になってしまうと、
無い場所をさしてしまうので、ポインタエラーになってしまいます。

7つ以上にしたいなら、定義の数を変更し、ポインタ配列格納部に自分の追加したい関数を追加して下さい。