投稿者 スレッド: N88BAISC のGET@コマンドを使いたい  (参照数 70 回)

minamiwaki

  • 新ユーザー
  • *
  • 投稿: 4
N88BAISC のGET@コマンドを使いたい
« 投稿日:: 2020年 7月 12日 , 午後 02:29:46 »
教えてください。
昔のN88basicで出来たプロづラムを、動かしたく思っています。
グラフィック画面の時に使う get@ put@ コマンドを使いたいのですが、代わるコマンドがわかりません。
教えてください、 お願いします。

takeuchi

  • 管理人
  • *****
  • 投稿: 82
Re:N88BAISC のGET@コマンドを使いたい
« Reply #1 投稿日:: 2020年 7月 13日 , 午後 02:20:27 »
こんにちは,

>グラフィック画面の時に使う get@ put@ コマンドを使いたいのですが、
>代わるコマンドがわかりません。

申し訳ありません。この代替コマンドはサポートしていません。
ただ,一点ごとであれば可能ですので,この機能を使えば一応可能です。
しかし,速度の問題はあるかも知れません。

具体的には,強引ですが,以下で可能です。

get@は
矩形上の各点(x,y)に対して,GetRGBPixel(x,y)で,(x,y)での色情報を取得し,
矩形に対応する大きな配列に入れて,矩形色情報を配列に保存します。

put@は
対応する画面に配列から色情報を取得し,GForeColor でその色を設定し,
Putしたい位置(x1,y1)にPSet(x1,y1)でその色を描画します。

色情報を文字列配列に格納すれば,変換処理はいりません。
プログラムとしては20行もあればこの機能get@, put@は実現できます。
Sub で実現できます。

理屈上はこれで良いはずですが,速度に問題があるかもしれません。
私の環境で実験してみたところ,100×100程度のピクセルならまあ我慢できる速度です。
200×200になると少し待つ感じですね。

速度が必要でないものなら何とか可能ですが,ゲームのキャラクターを動かすのは無理だと思います。

お役に立てれば良いのですが。

minamiwaki

  • 新ユーザー
  • *
  • 投稿: 4
Re:N88BAISC のGET@コマンドを使いたい
« Reply #2 投稿日:: 2020年 7月 13日 , 午後 09:48:32 »
有り難うございます。

動きのあるシュミレーションのプログラムのため、どうなるかわかりませんが。参考にして
作ってみたいと思います。

ありがとうございます。

takeuchi

  • 管理人
  • *****
  • 投稿: 82
Re:N88BAISC のGET@コマンドを使いたい
« Reply #3 投稿日:: 2020年 7月 14日 , 午前 06:48:52 »
もう一つ思いつきました。
こちらの方が早く,もっと簡単です。

例えば,(x0,y0)から(x1,y1)へ
300×200の矩形をコピーするには,

GLocate(x0,y0)
SavePicture("Test.bmp",300,200)
GLocate(x1,y1)
LoadPicture("Test.bmp",300,200)

でできます。

お試しください。