コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
RIM ◆F2.vfyrlC7Id
2019/5/5 16:09
質問
自作のスプライトを使用したい
スマイルツールで自作スプライトを作成し、LOADコマンドで読み出すと、
画面上に表示させている既存のスプライト表示が消えてしまいます。
既存スプライトと自作スプライトを同時に画面上に表示するにはどうしたら良いでしょうか?
0877のスプライトが一瞬表示された後、自作のスプライトだけが表示されます。

ACLS
SPSET 0,0877
SPOFS 0,320,32

LOAD ""GRP4:test",0
SPDEF 0000,0,0,16,16
SPSET 2,0000
SPOFS 2,32,320

また、自作のスプライトはスマイルツールのGP0,GP1,SPのどこで作成するかで結果に差が出ますでしょうか?

初心者ですがよろしくお願いします。

コメント

アバター
ナカジマ 2019/5/5 16:14 ◆DSpvksQCyRZC
GRP4はもともと既存のスプライトが入っているので、rimさんが作ったスプライトをLORDすることで上書きされてしまうんじゃないでしょうか。
既存のスプライトをrimさんが作ったデータの中にコピーすれば、無理やりですが解決できます。
多分ほかの方のアドバイスの方が効率が良いかもしれません。
アバター
あんちもん 2019/5/5 18:51 ◆8qCJSJ1bKTIQ
http://petitverse.hosiken.jp/community/petitcom/topic/?read=242&ukey=0
異なる絵のスプライトを同じ画面に同時に表示する場合、それらの絵は同じグラフィックページにまとめなければなりません。
自分も過去に似たような質問をしたので、何か参考になればと思います。
アバター
あきと 2019/5/5 19:36 ◆Bz8zeG7wRHNQ
>また、自作のスプライトはスマイルツールのGP0,GP1,SPのどこで作成するかで結果に差が出ますでしょうか?

結果というのが何を指しているか不明ですが、負荷や表示スピードのようなものは何も変わらないと思います。
スプライト用に割り当てられる画像は一枚だけなので、自分で描くキャラクター以外に弾や敵などをデフォルトの絵から使いたいのであればSP面に描いておいた方が後々便利だと思います。
アバター
RIM 2019/5/6 19:51 ◆F2.vfyrlC7Id
皆様アドバイスありがとうございます。
複数のGRPを同時に使用できないことは理解しました。
そこで、自作したTESTというグラフィック画面に、使用するキャラクターを4体書きました。
ところが、TESTファイルをLOADすると、4体とも画面に表示されてしまいます。
やりたかったのは、裏(?)にTESTを読み込んでおいて、そこからキャラの座標を指定して
1体ずつ任意の場所に表示しようとしたつもりです。

以下、リンク先の「こういち様」のプログラムを参考に記述しました。

ACLS
LOAD "GRP0:TEST",0
SPPAGE 0

SPDEF 0,0,0 '1体目のキャラを0番に定義
SPSET 0,0  '管理番号0に定義番号0をセット
SPOFS 0,0,0 '1体目のキャラを左上に表示

3行目以降を'で無効化して実行しても、LOADの時点でグラフィック画面に描いた座標に
キャラが4体表示されます。(グラフィック画面がそのまま表示されているという表現の方が正しいでしょうか)

「自作のグラフィック画面にすべてのキャラクターを描いておいて、1つずつ定義番号をつけて、それぞれ任意の場所に表示させる」というやり方自体が間違っているのでしょうか?
アバター
あきと 2019/5/7 23:57 ◆Bz8zeG7wRHNQ
繰り返しですが「TEST」という画像は元々のSP面のグラフィックに上書きして作成していますか?
一番最初の書き込みを読む限りデフォルトのSP面の画像を使用してゲームを組んでいると推測します。
例えばRPGっぽいゲームを作っているのでレース用の車のグラフィックは使わないなら車の4方向分の画像を潰して自分のキャラを描くという意味です。
アバター
たんじぇ 2019/5/8 14:26 ◆WDmFkVwZ4yMl
プチコンは512ドットx512ドットの画像を覚えておく場所としてGRP0, GRP1, GRP2, GRP3, GRP4, GRP5 の6つの領域があります。

プチコン起動時では、画面に GRP0 が表示されていて、スプライトで使う画像は GRP4 を参照して、BGで使う画像は GRP5 を参照して、GLINEなどは GRP0 に描画します。

画面に表示されるGRP0 は GPAGE命令で、スプライトのGRP4 は SPPAGE命令で、BGのGRP5はBGPAGE命令で、GLINEなどの描画するGRP0は GPAGE命令の第2引数で変更できます。

GPAGE 4 とすれば GRP4 が画面に表示されるのでプチコン用のスプライト画像が画面に表示されます
SPPAGE 3 とすれば GRP3 がスプライトで参照される画像となるので GRP3 に自作スプライトがLOADされていれば使用することができます。
GPAGE 4,0 とすれば GRP4 を表示した状態で、GLINEなどをしても画面は更新されず、GRP0 が更新されます(その後GPAGE 0とすると描画した内容が表示されます)


投稿の内容の場合、GRP4 がプチコン用のスプライト画像のままで SPSETをしますが、その後のLOADで GRP4 が512x512ドット全部上書きされてしまうので、最初に SPSET した GRP4の画像はTESTファイルの真っ黒な部分の画像を参照しているため消えたように見えます。


なお、スプライトを扱う場合、必ず1つの GRP にスプライトの画像が含まれてないといけません。(BGも同じように1つのGRPに含まれている必要があります)

もともとのプチコンのスプライトの画像と自作のスプライトを同時に使おうとする場合、いくつかのやりかたがあります。

・GRP4の使わないスプライトを消して自作スプライトを書く(TESTファイルの中身にもともとプチコンのスプライトが含まれているようにする)
・自作スプライトをGRP3にLOADして、GRP4の不要なスプライト部分にコピーする(GSAVE+GLOADやGPAGE+GCOPYなど)
・自作スプライトをGRP3にLOADして、GRP4の必要なスプライトをコピーしてSPPAGE 3 でGRP3をスプライトの参照対象にする

・512x512サイズではなく自作スプライトの領域だけをGSAVEで配列に読み込んでSAVEしておいて、それをLOADで配列に読み込み GLOADで GRP4 の使わないスプライト部分にコピーする(ちょっと面倒)

なお、もともとあるプチコンのスプライト画像が3DS本体から消えることは無いので、GRP4は自由に更新して大丈夫です
アバター
RIM 2019/5/8 21:01 ◆F2.vfyrlC7Id
皆様たくさんのアドバイスありがとうございました。
GRP0〜5のうち、GRP2,3が空いていてそこにLOADすれば、画面に表示されない状態で読み込めるということですね。自作スプライトを描いたTESTファイルに、もともと準備されているスプライトの必要な画像をコピーすることにしました。
おかげさまで、自作スプライトを使用してプログラムを動作させることができました。大変ありがとうございました。
アバター
スーパーコピー 本当に届く 2020/8/24 7:12 ◆.F8HWXyxMMRe
弊社は「信用第一」をモットーにお客様にご満足頂けるよう、

発送前には厳しい検査を通じて製品の品質を保証してあげますとともに、
配送の費用も無料とし、品質による返送、交換、さらに返金までも実際 にさせていただきます。
また、従業員一同、親切、丁寧、迅速に対応 させて頂き、ご安心になってお買い物を楽しんでくださるよう精一杯力 を尽くしていくつもりです。

送料は無料です(日本全国)! ご注文を期待しています!
下記の連絡先までお問い合わせください。

是非ご覧ください!
スーパーコピー 本当に届く https://www.fujisanwatch.com/pack/buygo/vwallet/d039ff366564f352.html
アバター
スーパーコピー 2020/9/24 21:58 ◆tklH5gQ/R7nh
急ぎではなかったのですが、素早いご対応ありがとうございます。
丁寧に梱包されていて、手書きのお手紙も入っていました。
配送がゆうパックのみ、というのも個人的には気に入りました。
スーパーコピー https://www.jpbrandok.com/Copy-sale-4934-HERMES_25E3_2580_2580_25E3_2582_25A8_25E3_2583_25AB_25E3_2583_25A1_25E3_2582_25B9-_25E3_2583_259E_25E3_2583_2595_25E3_2583_25A9_25E3_2583_25BC-HB1041.html

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -