プチコン3号 SmileBASIC コミュニティ返信[12]親投稿otta777 otta777a2016/7/16 23:44FN$="SAMPLE01.DAT" 'ファイル名 PG%=0 ’転送元ページ X%=0 '始点X Y%=0 '始点Y W%=400 '幅 H%=240 '高さ GSAVE_FILE FN$,PG%,X%,Y%,W%,H% でセーブできます。 ロードをする場合は変数の設定とGPAGE命令で画像を 読み込むページを指定した後に GLOAD_FILE FN$,X%,Y%,W%,H% でロードできます。0そうだね プレイ済み2017/11/03 12:45:08に取得
プチコン3号 SmileBASIC コミュニティ返信[18]親投稿otta777 otta777a2016/7/16 23:42やまなさんにご指摘頂いて気が付きました。 解説…書いてなかったですね。 現状の仕様のもので解説を書いておいたので参考にして頂けると 幸いです。 中の処理を見直して再投稿する予定なので今のバージョンは 仮という事にして下さい。0そうだね プレイ済み2017/11/03 18:02:21に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿otta777 otta777a2016/7/16 23:06GLOAD_FILE ファイル名,始点X,始点Y,幅,高さ ファイル名で指定した名前のデータファイルから GPAGE命令の操作ページで指定したページに 指定した範囲の画像データを描画します。 GSAVE_FILEで指定した幅、高さを指定しないと エラーになる場合があります。 画像サイズもセーブするように改造した方が良さそうですね^^;;; 0そうだね プレイ済み2017/11/03 12:45:08に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿otta777 otta777a2016/7/16 23:06説明を書き忘れてました。 GSAVE_FILE ファイル名,転送元ページ,始点X,始点Y,幅,高さ 指定したグラフィックページの指定した範囲の画像データを ファイル名で指定した名前のデータファイルとして保存します。 1ドット2バイトでセーブされるため上画面の400×240ドットで 約190KBになります。 0そうだね プレイ済み2017/11/03 12:45:08に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿otta777 otta777a2016/7/16 22:00表示はカンストだけど実際にはそれ以上ある場合って表示機器の 桁数に制限がある場合に使われる事があります。 1桁の7セグ表示器で0~19まで表現するのに10~19の場合は 点滅させて10以上である事を表現する方法がありました。 3がいいとと思います。 1、2、3、超いっぱ~い!1そうだね プレイ済み2017/11/03 18:02:04に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿otta777 otta777a2016/7/16 21:311556行の前でTISHO[KED]を数値変数に代入すると毎回 配列変数を参照しなくなるのでスッキリするのとッ少しだけ 処理時間が短くなります。 TI=TISHO[KDE] EX=ENSX[TI]+((ENYX[TI+500]-ENYX[TI])/2)+EXA+EXGN 0そうだね プレイ済み2017/11/03 12:33:10に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿otta777 otta777a2016/7/16 20:48XSCREENのヘルプを参照して下さいね。 命令のヘルプに関連項目を全て書くと大変な量になってしまうので 書かれていない仕様もあります。 今回の事をきっかけにXSCREEN命令でスプライトの数の上限が決まってくる 事を覚えてくれる事を期待します。0そうだね プレイ済み2017/11/03 12:33:13に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿otta777 otta777a2016/7/16 20:41XSCREEN命令でスプライトの割当数を省略した場合は上画面に256個 下画面に256個割り当てられます。 上画面に割り当てる数を指定すると512ー上画面の割当数が下画面に 割り当てられる仕様です。 0そうだね プレイ済み2017/11/03 12:33:13に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿otta777 otta777a2016/7/16 20:36PRINT命令で表示するコンソール文字をスプライトの上に 表示したいという事ですか? コンソール文字のZ位置をスプライトのZ位置より小さくすると 手前に表示されます。 具体的にはSPOFSでZ位置を1以上にしてコンソール文字全体を スプライトの上に表示するか、LOCATE命令でZ位置を-1以下に してから手前に表示したいコンソール文字を表示するという 方法があります。 0そうだね プレイ済み2017/11/03 12:33:16に取得
プチコン3号 SmileBASIC コミュニティ返信[21]親投稿otta777 otta777a2016/7/16 9:34メインループからGOSUBで呼び出しするようにしたらプログラムを まるまる持ってこなくてもいいかと思いますよ。2そうだね プレイ済み2017/11/03 18:02:16に取得
プチコン3号 SmileBASIC コミュニティ返信[93]親投稿otta777 otta777a2016/7/16 9:31GCOLOR命令ではGCOLOR OUTで描画色の取得ができるので COLOR命令でも同様にCOLOR OUT 命令で表示色の取得が 出来るようになりませんか? これを書いてて気が付きましたがGCOLOR OUTの説明が 描画色の取得では無く指定になってます。2そうだね プレイ済み2017/11/03 18:07:56に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿otta777 otta777a2016/7/16 4:02あと整数型の変数を四則演算したときに演算結果が -2147483648~2147483647の範囲に収まらない場合に 計算結果が想定される結果と違う場合があります。 少し難しい話ですが最上位ビットが変化する演算の場合に 正の数値を加算したら負の数になったり負の数値を減算したら 正の数値になることがあります。 A%=2147483647:B%=A%+1 C%=-2147483648:D%=C%-1 PRINT A%,B%C%,D% またOPTION DEFINTをしていない状態での変数Aと変数A# OPTION DEFINTした状態での変数Aと変数A%は 変数の方は同じでも別物として扱われますので注意して下さい。1そうだね プレイ済み2017/11/03 18:02:11に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿otta777 otta777a2016/7/16 3:07このような投稿をされたとなると、公開キー発行時の注意事項に あなたが同意もしていないのに「はい」を押して公開キーを取得したと 見なされてもしかたないですね。 虫のいい話だと一蹴されても文句は言えないかな。 4そうだね プレイ済み2017/11/03 12:34:01に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿otta777 otta777a2016/7/16 2:10グラフィックデータの容量が大きくてプロジェクトを2つ分けないと ゲームがアップロードできないってお話を聞いたんでなんとか 出来ないかなっていうのが開発動機でした。そういう理由で 困ってる方が使ってくれればはいいかなぁと自分は思ってます。0そうだね プレイ済み2017/11/03 18:02:22に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿otta777 otta777a2016/7/15 8:40「%を付けると」の後の文章が抜けてしまいました。 「メモリの節約になります」を追加して下さい。 1そうだね プレイ済み2017/11/03 18:02:11に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿otta777 otta777a2016/7/15 8:09変数に代入される数値が-2147483648~2147483647の 範囲に収まる整数(32ビット符号付き整数)である場合は%を 付けて整数型を指定すると使用するメモリが半分になります。 GSAVE命令でグラフィック画面の512×512ドットの範囲を 配列変数にコピーする場合、%を付けると1048616バイト 使用ですみますが、%を付けず倍精度実数型の変数で行うと 2097192バイト使用します。 他にも大きなサイズの配列を使う命令にMICSAVEやBGSAVEなどが ありますが32ビット符号付き整数で問題無い場合は%を付けると また扱うデータのバイト数が減るので僅かに実行速度が上がります。 100000件のソートをして整数型で90msec、倍精度実数で 190msec程掛かりました。1そうだね プレイ済み2017/11/03 18:02:11に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿otta777 otta777a2016/7/14 10:24DIM BGC%[4]:BGCS$="" FOR I=0 TO 3:READ Z$,BGC%[I]:BGCS$=BGCS$+z$:NEXT DARA " ",1,"0",866,"A",868,"a",864 としておいて A%=INSTR(BGCS$,M$):IF A%!=-1 THEN BGPUT 1,X,Y,BGC%[A%] 3そうだね プレイ済み2017/11/03 18:02:16に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿otta777 otta777a2016/7/14 10:24キャラクタをBGのキャラクタコードに変換するならINSTR関数で 配列変数BGC%にBGのキャラクターコードをREAD命令で DATAから読んでおけば、 A%=INSTR("マップにあるキャラクタの文字列",M$):BGPUT 1,X,Y BGC%[A%] とすれば大量のIF命令を羅列しなくても記述できますよ。 3そうだね プレイ済み2017/11/03 18:02:16に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿otta777 otta777a2016/7/13 6:20網掛けや市松模様のようなトーンの効果を使った画像は 圧縮率が落ちてしまいますね。 4800byteを大幅に越える様な絵が多いときは絵の タッチによって圧縮方法を使い分ける工夫も考えられます。 ちなみに320×120の全面市松模様をセーブするとファイルの サイズと伸張+描画時間はどうなりますか? ドットのオンを1、オフを0としてビットパターンで保存すると 320×120サイズでファイルサイズは4828バイトでした。 自分で作ったビットパターンで圧縮するプログラムでは new 3DSで伸張+描画に0.18秒ほど掛かります。1そうだね プレイ済み2017/11/03 18:02:22に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿otta777 otta777a2016/7/13 5:40WJPって何のフラグですか? プログラムの流れを追っているとずっと2のままで変化する条件は ありませんでした。 2段ジャンプをしたときに変数JPと変数WJPがどう変化するかを 書き出してみてはいかがですか?2そうだね プレイ済み2017/11/03 18:02:25に取得