投稿
nobu divine-creator
SPは基本的に、1枚しか読み込む場所が無いわけですよね?(デフォルトでGRP4のみ) でも、複数枚のSPを同時に読み込ませて、表示している作品がありますよね?(アルカナストーンなど) 複数枚のSPを同時に読み込ませ、そこから同じ座標にあるSPを同時に表示したり、SPをランダムに読み込ませるには、どのような方法を使用すれば良いのでしょうか? 複数のSPではなく、複数枚のSPという点に注意してください!(複数のSPを同時に表示する方法なら、すでに知っております。)
1そうだね
プレイ済み
返信[1]
親投稿
他のGRP等にスプライトデータを入れて、必要に応じてGRP4に書き込めばいいわけです スプライトとして扱えるGRPが1枚なのは変わらないはずです
0そうだね
プレイ済み
返信[2]
親投稿
GRS grs8001
スプライトで表示する画像データはSPPAGEで割り当てたグラフックページしか使えないので、複数枚のSPを同時に使うことはできないと思います。 (SPPAGEで切り替えると表示しているスプライトが意図しないものになる) 対戦格闘ゲームの様な1対1の場合 GRP4の(512*512ピクセルあるので) 上半分を右側の人の画像データ 下半分を左側のデータとして用意して 対戦相手が変わる毎に人のデータを差し替えます。 差し替える方法は色々ありますが一番簡単なのは GRP3にLOAD"GRP:**"してGCOPYで半分だけ転送するのが簡単。 アルカナストーンはスナップショットしか見ていないのですが SPSCALEで拡大することによってGRP4のデータを押せえているように工夫している? (複数枚のSPを同時使用は行っていないと思います:見ていないので想像ですが ^^;)
1そうだね
プレイ済み
返信[3]
親投稿
イカ ikasan1830
アルカナは動作中のGRPを覗くのがてっとりばやいですね
0そうだね
プレイ済み
返信[4]
親投稿
けい kei0baisoku
ヒライさんのプログラムを少し見てみました。 画像は1キャラ1枚ですが、下半分はホームの背景で、キャラに関するのは上半分だけです。 左キャラの画像をGRP1の上半分に、右キャラの画像をGRP1の下半分にコピーして、対戦中はスプライトはGRP1を使ってます。 半分コピーの方法は、たなかいちろうさんの言う通りGCOPYです。
1そうだね
プレイ済み
返信[5]
親投稿
nobu divine-creator
情報を書き込んでくださった皆さん、ありがとうございます♪ 寄せられた情報をまとめて整理しますと、同時に複数枚のSPを使う方法は無く、複数枚のSPから半分をコピーして1枚にするという方法で、別々のSPを同時に表示することを可能にするしかない…という解釈で良いですか? つまり、複数枚に保存したSPを同時に表示することは可能であるが、GCOPYを使用して1枚にまとめなければならないということですね! ちなみに、それ以外の方法で同じような表示を可能にする方法をご存知の方はいらっしゃらないでしょうか? とりあえずは、1枚にまとめて描き、切り替えることでパターンを増やす方法にしようと思います♪
1そうだね
プレイ済み
返信[6]
親投稿
他だと配列にスプライトデータを入れてGLOADとかなら可能かな、使ったことないから違う結果になるかもしれないけど。
0そうだね
プレイ済み
返信[7]
親投稿
あきと SideBurnsM
なんかいいことが書いてあるように思えたのでもうちょっと正確に。 「同時に複数のGRP(グラフィック面)を参照するSP(スプライト)を作る方法は無く、複数のGRPから部分的にコピーしてGRP1枚にまとめるという方法で別々のグラフィックをSPで表示できるようにする事はできる。」 ですかね。
2そうだね
プレイ済み
返信[8]
親投稿
nobu divine-creator
配列にSPデータを入れて…ですか…?(配列がまだよく分かっていません…。) 本当は、SPの定義や設定も上手くまとめられたら良いのでしょうけど、まだ覚えたてなので、バラバラになっています…。(最近ようやくSPを使い始めたばかりで、基本的なことも充分理解できていません…。) それでも、複数のSPキャラを表示して変化させることは、できるようになってきました♪
0そうだね
プレイ済み
返信[9]
親投稿
ゆうたん yu-tan-sama
GRP4を直で書きかえ続けてアニメーションするって荒技もつかえるはず…速度はお察し 他にはSPPAGEでページを切り替えまくるって手は使える…のかなぁ試したことないけど
0そうだね
プレイ済み
返信[10]
親投稿
nobu divine-creator
複数枚に保存されたSPを使用している例としてアルカナを上げましたけど、私が使用するSPは動きのあるものではないので、アニメーションの必要はありません…。(演出として動くのは凄いと思いますけど…。) SPPAGEでページを切り替える…ですか?試してみるのは自由ですよね♪ 実験してみます!
0そうだね
プレイ済み
返信[11]
親投稿
あきと SideBurnsM
試しにスマイルツールで適当にスプライトを描きかえた絵をGRP3に読み込んでメインループ中にSPPAGEを使ってグラフィック面を切り替えてみました。(GRP3とGRP4のスプライトが同時に表示できないかの実験) 結果として違うグラフィック面のスプライトを同時に表示することはできませんでした。VSYNC命令に一番近いSPPAGEで指定したグラフィック面のスプライトが表示されました。
1そうだね
プレイ済み
返信[12]
親投稿
nobu divine-creator
わざわざ試してくださり、ありがとうございます♪(私はまだ他のことを行っていたため、試せていませんでした…。) SPPAGEによる切り替えでは、最新のものに上書きされてしまうのですね…! より多くの手書きSPを使えるようになったら嬉しいのですが、不可能なことを行おうとしても無理なので、可能な範囲内で工夫して表示するようにしたいと思います♪
0そうだね
プレイ済み
返信[13]
親投稿
あきと SideBurnsM
上書きされるというよりはVSYNC命令が実行されたときに指定されていたグラフィック面でスプライトが描画されるという挙動なんでしょうね。 まあスプライト面いっぱいの絵を描きかえるなんて相当大変ですよね。頑張ってください!
0そうだね
プレイ済み
返信[14]
親投稿
ゆうたん yu-tan-sama
SPPAGEの切り替えはアニメーションの代用って想定かな 4コマのアニメーションを異なる4枚のページに分散させるイメージ 変化しないものについては同じ場所に同じ絵を描いておく 同時表示は原則無理だから、同時表示されない組み合わせを見つけて節約していく考え方ね 手書きの物を増やしたいならGRPとかBGもフル活用した方がいいでしょうね
1そうだね
プレイ済み
返信[15]
親投稿
nobu divine-creator
応援ありがとうございます♪でも、面いっぱい…というよりは、大きめのSPを多用しようとしたら、すぐに埋まってしまって、一枚じゃ足りなくなるかな…と思ったという感じですね…。 拡大して描けば、ある程度細かく描くことが可能なので、そうして何とか一枚に収めるor切り替えで対応できる形で描き、切り替えて表示するようにする…のどちらかにしようと計画しました!
0そうだね
プレイ済み
返信[16]
親投稿
ゆうたん yu-tan-sama
パーツわけって手もあるのよ 1枚の絵を分割していって、拡大や回転や反転、色変更でどうにかできるものなら、プログラムで組み立てる前提でまとめちゃう 他には口パクや瞬きみたいなものなら表情の差分だけ用意するとかね
1そうだね
プレイ済み