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

アバター
キルル2 ◆rGE712Ruejv7
2018/2/26 7:37
質問
スプライトを白黒反転したい
実装方法が思いつかず

コメント

アバター
まつもと だい 2018/2/26 9:05 ◆I.3vocq8zcvh
もともと白黒しかない画像だったら

getclor=gspoit(x,y)
if getcolor==#black then gpset x,y,#white
if getcolor==#white then gpset x,y,#black

このコードをfor文に入れて512*512回回せばいいと思います
アバター
まつもと だい 2018/2/26 9:08 ◆I.3vocq8zcvh
もちろん
gpage 0,4とかの準備も入りますし、
フィルターをかける的な感覚の命令はないので、フィルタ感覚で使いたいなら

・使いたいスプライト部分をgcopyで別領域にcopy
・その領域分 上のコードを実行
・その領域をSPDEFして表示
みたいな自作関数作ったほうが良いかもしれませんね
アバター
まつもと だい 2018/2/26 9:15 ◆I.3vocq8zcvh
言い忘れてましたがGRP1面分gpsetするのはかなり遅いです。
自分でやってみたらNewで1167ms(ミリ秒)、Oldで4185msかかりました。
アバター
あまさとしおん 2018/2/26 17:29 ◆mzDKTVUAtwqE
GSAVE と XOR &HFFFFFF と GLOAD
アバター
あまさとしおん 2018/2/26 17:31 ◆mzDKTVUAtwqE
いずれにしてもGRPをいじるしか方法はなさそうだな
SPCOLOR的なノリで個別に変える方法は無い
アバター
しんいち 2018/2/26 17:35 ◆lHy.hAWXbthn
白黒反転のサンプルです。何かボタン押せば反転。Xボタンで終了。
アバター
moi 2018/2/26 17:49 ◆hL/XpFV8MD2F
反転なら
GPAGE 4,4
SPDEF 反転したい定義番号 OUT U,V,W,H
FOR X=U TO U+W-1
FOR Y=V TO V+H-1
G=GSPOIT(X,Y)
RGBREAD G OUT R%,G%,B%
GPSET X,Y,RGB(B%,G%,R%)
NEXT
NEXT

これで
SAVE"GRP4:SAVEFILE"
とすれば良いかと
アバター
キルル2 2018/2/26 18:43 ◆rGE712Ruejv7
いろいろと回答ありがとうございます
皆さんの方法・コードで確かに反転できました
もう一個トピックを立てましたので、よろしければぜひ、そちらにもご回答ください
http://petitverse.hosiken.jp/community/petitcom/topic/?read=258&ukey=1
アバター
とすけ 2018/3/3 11:04 ◆IUAdB4KpZwSR
それなりにメモリ消費するんですが、あらかじめ反転させたパレット用意してGSAVE GLOADするのが高速だと思います
アバター
キルル2 2018/3/3 20:38 ◆rGE712Ruejv7
あーその手もありますね

コメントを書く

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

- WEB PATIO -