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

アバター
takumi ◆Ce3Q40uXWJjn
2019/4/3 19:36
質問
GRPの拡大について
画像等のGRPを拡大させるにはどうすれば良いのですか?
座標系はGOFSですので、それに似た命令があるのでしょうか。
Gから始まるのを何回も調べてもそのような命令がなくて...

コメント

アバター
あまさとしおん 2019/4/3 19:41 ◆mzDKTVUAtwqE
GSCALE命令は無いです

無いなら、ある物を使えば良いじゃない
ヒント:SPPAGEとSPSETとSPSCALEを使う

ただし、普通のスプライトが使えなくなるという欠点があります
アバター
クロマリオ 2019/4/3 20:34 ◆jST6XW8BxBax
たしかbgも拡大できたぞい
アバター
はる 2019/4/3 20:39 ◆75Vh4SY8TdKS
ありません。
自分で作ればよいです。
アバター
みなつ 2019/4/4 9:32 ◆hJTkStjweib1
GRPを拡大したいときは、
・GRPを1枚の大きなスプライトとして表示して、SPSCALEで拡大する方法
・BGにGRP 1枚をぴったり表示するようにBGキャラクタを敷き詰めて、BGSCALEで拡大する方法
の2つがあります(●´ω`●)
ただ、前者だとスプライト、後者だとBGが、GRP拡大表示用に占有されてしまうことになります。

・スプライトでGRP1を拡大する例
SPPAGE 1  'スプライト定義ページをGRP1に変更
SPSET 0, 0,0, 512,512, 1
SPSCALE 0, X方向の拡大率, Y方向の拡大率

・BGでGRP1を拡大する例
BGPAGE 1 'BG用のキャラクタ定義ページをGRP1に変更
BGSCREEN 0, 32,32
FOR Y=0 TO 31
 FOR X=0 TO 31
  BGPUT 0, X,Y, Y*32+X+1024 '←この1024を足さないと、一番左上のマスが透明になっちゃいます
 NEXT
NEXT
BGSCALE 0,X方向の拡大率, Y方向の拡大率

BGキャラの0番は強制的に透明キャラになってしまうのですが、プチコン3号のBGキャラ番号は0〜4095まで指定でき、1024毎にループしているので、1024を足してあげるとちゃんと0番キャラ(左上)も表示されます(≧∇≦)b
アバター
TASさん[TASソフト] 2019/4/4 10:39 ◆6xHLNebN2EdU
そーなのかー
アバター
takumi 2019/4/4 13:03 ◆Ce3Q40uXWJjn
みなさんご回答ありがとうございます!
実際、僕はBGやグラフィックの命令をあまり使わないので、みなつさんが教えてくださったSPの方法を実戦しようと思います。
またでき上がったプログラムの感想お願いします🙇⤵️
アバター
しんいち 2019/4/4 14:06 ◆lHy.hAWXbthn
BGでGRPを拡大する際の補足:
BGキャラ0番の透明を回避するために足す値(3号の場合)は
 512×512÷(キャラサイズ×キャラサイズ)
で計算した値(の4095を超えない範囲での整数倍)を指定できます。
キャラサイズ32×32なら256(毎にループ。なので1024でも大丈夫)
キャラサイズ16×16なら1024(毎にループ)
キャラサイズ8×8なら回避できない(4096なので)

直接GRPに拡大画像を描画する場合、1ピクセルずつGFILLだと遅いので、皆さん色々工夫して高速化してると思います。

コメントを書く

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

- WEB PATIO -