tbasic forum
掲示板 => Tiny Basic for Windows => スレッド開設者: minamiwaki より 2020年 7月 12日 , 午後 02:29:46
-
教えてください。
昔のN88basicで出来たプロづラムを、動かしたく思っています。
グラフィック画面の時に使う get@ put@ コマンドを使いたいのですが、代わるコマンドがわかりません。
教えてください、 お願いします。
-
こんにちは,
>グラフィック画面の時に使う 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になると少し待つ感じですね。
速度が必要でないものなら何とか可能ですが,ゲームのキャラクターを動かすのは無理だと思います。
お役に立てれば良いのですが。
-
有り難うございます。
動きのあるシュミレーションのプログラムのため、どうなるかわかりませんが。参考にして
作ってみたいと思います。
ありがとうございます。
-
もう一つ思いつきました。
こちらの方が早く,もっと簡単です。
例えば,(x0,y0)から(x1,y1)へ
300×200の矩形をコピーするには,
GLocate(x0,y0)
SavePicture("Test.bmp",300,200)
GLocate(x1,y1)
LoadPicture("Test.bmp",300,200)
でできます。
お試しください。