| スプライトの任意移動制御 | |||||
さて、問題になってくるのがアルゴリズムを持って動くスプライトの制御です。まぁ問題、と言ってもそんなに大したことはありません。解剖記の敵の動かし方と基本は同じです。
まぁ要するに、配列変数を使って移動速度や配置からの時間なんかを一機一機に対して保持しておく、という形は変わらないです。ただ、es_getでスプライトの様々な情報が取得できるので、用意する配列変数は少なくて済みます。座標なんかは上記スクリプトのように簡単に取得できますしね。 後はes_aposを使ってx方向y方向の移動速度を変化させるだけです。基本的な部分は解剖記の敵の生成と移動アルゴリズム1、2、3となんら変わりありません。 ただし、注意しなければならないことがあります。それはスプライト数と用意する配列の数です。ちょっと工夫をしないと「配列の要素が大きすぎます」というエラーに悩ませられることになります(俺だけか?)。私なりのやり方なのですが、es_iniで宣言するスプライトの数だけ配列変数を用意しちゃいます。
すると、上記スクリプトのように、スプライト登録をするときに何も考えずにそのまま空きスプライト番号を配列の要素として使えます。なので、これは敵に限らず全てのキャラで使えるように、汎用の配列として用意しておくのがいいのかもしれません。
|