プレイ日記
SPSETしてからSPDEFで同じ定義番号に対して情報を書きかえると、SPCHR等で更新しない限り、表示していたスプライトに変化が無い仕様に少し手こずった。
4そうだね
プレイ済み
返信[1]
親投稿
nobu divine-creator
なぜ、SPSETを先に? 通常は、SPDEFからのSPSETでは?
3そうだね
プレイ済み
返信[2]
親投稿
今までデータ構造が「SPDEFによる情報→パーツの情報」だったので、SPDEF→SPSETで良かったんですよ。 でも、SPDEFで横反転のパーツを作るにあたって、データそのままでSPDEFしたあと、アトリビュートに横反転を足したものをすぐにSPDEFした場合、通常の画像と反転の差分がひとまとまりになって、定義番号に対するアニメーションが少し面倒になるんですよね。 なので、データ構造を「パーツの情報→SPDEFによる情報」にして、パーツの情報から差分(反転などではなく、表情や模様の違い)の個数を用いることで、通常と横反転を独立させた構造にしたんです。 パーツの情報は各管理番号に対していくつかのパラメタを持つ二次元配列に保管するんですけど、管理番号はSPSET()で手に入れるまで解らないので、SPSETで管理番号取得→SPDEFで定義→ごにょごにょ…という流れになってしまったのです。
0そうだね
プレイ済み
返信[3]
親投稿
対策として、SPSETで管理番号を取得するのではなく、SPUSEDで使われていない管理番号を探しだし、スプライトを作成する前にパーツの情報を保管する方法。あるいは、パーツに対してSPOFSやSPLINKで結合する際に、SPCHRで再度SPDEFの情報を読み込む方法ですね。今回は後者で解決しました。
0そうだね
プレイ済み
返信[4]
親投稿
nobu divine-creator
反転するSPも、最初にSPDEFで定義したんじゃダメなのですか? 一番最後を1にするとそのままで、9にすると反転になるのですけど…。 1つの画像を2つに定義するという方法で…。
0そうだね
プレイ済み
返信[5]
親投稿
それによって起きる弊害は既に述べました。
0そうだね
プレイ済み