プチコン3号 SmileBASIC コミュニティ返信[2]親投稿myu314 myu3144時間前ざっくりながめた感じだとPetitverseに流れそうな感じです 話題が集中するほうが好きなので:)1そうだね プレイ済み2017/11/08 12:48:43に取得
プチコン3号 SmileBASIC コミュニティ返信[16]親投稿myu314 myu31414時間前メイン: New3DS サブ: 旧3DS LL 最近はほぼ旧3DS LLでプチコンしてます。 画面が大きいのと速度遅い方に合わせたほうがプログラム的には楽しいので:)1そうだね プレイ済み2017/11/08 12:53:21に取得
プチコン3号 SmileBASIC コミュニティプレイ日記myu314 myu3142017/11/07 22:44:34Miiverse終了までにお絵かきツール作る流れなのかーとこそこそ作ってたんですが、だらだらUI部品作ってたら今日になりました。ざんねん>< 完成したらどこかで人の多そうな所でふらっと公開したいっところ。 ……人の多そうなところはどこかなー;)18そうだね 2返信プレイ済み2017/11/08 12:48:43に取得
プチコン3号 SmileBASIC コミュニティ返信[31]親投稿myu314 myu3141日前メモリはクリップボードの領域使えばいいと思うんですけどね、2Mもあるし。クリップボードの内容破壊するってダイアログ出すだけでいけると思うんだけどなぁ。 あと同じくメモリ問題で対応してない圧縮保存も。速度は……まぁ我慢するとして:)0そうだね プレイ済み2017/11/08 12:53:23に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿myu314 myu3142017/10/28 13:14徹底してくれればどちらでも良いけれど、趣味で言うとW,Hの方ですかね。 プチコンはもうちょっと徹底して欲しい。GCLIPとかGCOPYとか……GLINEはしょうがないかなぁ。グラフィック系は座標?って思ったらGLOAD/GSAVEは違うという。多分配列が絡むからでしょうけど。 というわけでプチコンもそこそこ曖昧なんで、あんまり気にせず作っちゃえばよいかと:p スワップはMIN/MAXでやるより素直にIF X2<X1 THEN SWAP X1,X2 …が速かったような記憶です。大体ループ外で処理するから高速化の対象外ですけどね。1そうだね プレイ済み2017/11/03 17:13:39に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿myu314 myu3142017/10/22 10:59データの中身にもよるんですけど、10/13/34がそれほど多くないのであれば、一旦適当な文字で埋めておいて、特殊な文字を後から埋めてやるのがいいかなと思います。 DATA "XXXXXXXXXX" DATA 0,-1 '10の場所、-1はデータ終端用 DATA 2,4,-1 '13の場所 DATA 5,6,7,-1 '34の場所 みたいに。文字連結するやりかたなら、メモリ確保/破棄/コピーを最小限に抑えるためにも、サイズをデータに含めて先に領域確保した後COPYするほうがよいかとー。0そうだね プレイ済み2017/11/03 17:13:48に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿myu314 myu3142017/10/18 11:45あ、パターンがツールごとっていうのは個人的には面倒かなという印象です。パターン選択は色と同じように選んだらすべてのツールで有効な方が、今何が選択されてるか把握しやすいかなと。…実際使ってみると評価は変わるかもしれないんですが。2そうだね プレイ済み2017/11/02 21:50:20に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿myu314 myu3142017/10/18 11:40うまく言ったようでよかったです……と思ったらあのサンプルだと透明色によるパターン塗り、考慮してなかったですね、すみません! ざっくり書くと一旦絵の方の適当な色を退避しておき、その色を使ってパターン塗りした後、目的の色に戻すって処理になります。 例えば、絵の方の白(&HFFFF)を別の色(&HFFFE)に変換しておいて、パターンを白で生成して塗りつぶし処理を行い、最後に&HFFFEを白に、白を透明色に変換って感じです。脳内でしかテストしてないので間違ってたらすみません;) 単色のパターン塗りつぶし処理は、すべて同じように処理して最後の&HFFFFを透明色(0)に変換のところで目的の色で塗るようにすれば綺麗に処理できるかと。わかりにくかったらまた夜にでもサンプル作りますー。1そうだね プレイ済み2017/11/02 21:50:20に取得
プチコン3号 SmileBASIC コミュニティ返信[16]親投稿myu314 myu3142017/10/9 9:28アンチエイリアスについては、X#,Y#に点を描画する部分と、正確に1px刻みで描画する部分が肝です。 前者は、例えば(0.2,0)に点を描くなら、(0,0)に80%、(1,0)に20%の濃さで描くだけです。小数部がそのまま%になる感じですね。 後者はたとえば(0,0)-(2,2)に1px間隔で描画する場合、(0,0),(0.707,0.707),(1.414,1.414)に点を書きます。(0,0)-(2,2)の長さはSQR(2*2+2*2)=2.828..、1px間隔で描画するならつぎは長さが3になるところです。なので次に線を描くときに0.828進んだ状態…始点から1-0.828=0.172px進んだのところから点を描きます。小数部だけ抜き出してるのは、1px間隔なら小数部だけで足りるからです。 …説明下手なんですが伝わってるといいなぁ;)1そうだね プレイ済み2017/11/02 21:53:42に取得
プチコン3号 SmileBASIC コミュニティ返信[15]親投稿myu314 myu3142017/10/9 9:26透明色が0で揃ってないのについては、塗りつぶし前に0でそろえてしまえば大丈夫と思うんですが、情報を埋め込むケースを考えると念の為ヘルプに書いておけばいいのかなぁ。 一応、最初に&HFFFFを&HFFFEに変更するパレットを作るときに変換すればパレット作成の手間が省けるかと(&HFFFEに変換する部分を変えるだけなので)1そうだね プレイ済み2017/11/02 21:53:42に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿myu314 myu3142017/10/8 10:16あ、パターン側の透明色部分を透過させたい場合は、GPAINTの前で色を拾っておいて、最後の&HFFFEを0に変換してるとこで0じゃなく拾っておいた色に変換してください。トーンとかはそれで対応できるかと:)1そうだね プレイ済み2017/11/02 21:53:42に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿myu314 myu3142017/10/8 0:40パターン塗りつぶしサンプルです:) 【E3ENV4G6】 画像全体を読み込むバッファ、パレット用配列、パターン生成用GRPの3つ消費します。一応分割して処理すればGRPとか読み込みバッファは削減できそう。512x512でも1,2秒で処理できるのでメモリ足りるなら悪くないかと。 特定の色の部分をパターンに置き換える感じなので、塗りつぶし以外でも使えます。1そうだね プレイ済み2017/11/02 21:53:42に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿myu314 myu3142017/10/7 18:29高速な塗りつぶし、多分なにかGPAINTではできない機能を追加したいんだと思うんですが、どんな機能でしょう? 基本的にどうやってもかなり重い処理になるので、どうにかごまかす手段を考えるほうが良いかなと。たとえばパターン塗りつぶしとかだったらGPAINTとパレット転送の組み合わせでなんとかしたりとか。メモリとGRPを消費しますが…。1そうだね プレイ済み2017/11/02 21:53:42に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿myu314 myu3142017/10/7 18:03確かスーさんのエディタはα用のバッファ確保するのが厳しかった記憶があったので、バッファを使わず正攻法でアンチエイリアスかかった線ルーチンを。 【4DYEP4Y3】 A/Bで太さ変更(2種)、Yでクリア、Xで終了です。 真面目に長さを計算し、正確に1px間隔で描画してます。真面目に計算してる分綺麗なんですが、旧3DSだとあと1段階太くしたらもう限界になりそう……。 そんなわけでご希望の高速なルーチンではないんですが、まともにやってもこれくらいの速度はでるよ、なサンプルにでもなれば。 あと、ブレゼンハムのルーチン細かくするのなら、最初から浮動小数点数で計算しちゃったほうが多分楽で速いんじゃないかなぁと。1そうだね プレイ済み2017/11/02 21:53:42に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿myu314 myu3142017/9/20 21:16あ、GPSETを連続で使うなら、先にGCOLORで色指定してGPSETの時は省略するほうがちょっとだけ速いです。1000回くらいやってようやく1ms程度の差ですけど;)2そうだね プレイ済み2017/11/02 21:57:28に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿myu314 myu3142017/9/17 16:16呼び出し手順間違えるのはあるあるですし、変に動いちゃうから特定しづらい嫌なミスなんですよね。今回はエラーが出てむしろラッキーだったのでは。 呼び出し元がわかれば特定できたと思うので、謎な挙動が起きた時はBACKTRACEおすすめです……使い勝手良くはないんですけど;)0そうだね プレイ済み2017/11/02 21:58:21に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿myu314 myu3142017/9/17 16:00DEF C:END A 1 こうすれば呼び出せますね:p 7行目が DEF A B:C のコロン(:)省略になっていて、存在しないCを実行しようとしてエラーになるので、Cを作ってやれば実行できる…という種明かし。4そうだね プレイ済み2017/11/02 21:58:16に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿myu314 myu3142017/9/16 19:13あ、今ググったら僕の使ったポルタメントとグリッサンドの区別はあんまりよくなさそうな感じだったので、前半忘れてください。混同されてたり文脈で変わりそうな雰囲気でした。1そうだね プレイ済み2017/11/03 17:15:14に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿myu314 myu3142017/9/16 18:57トランペットならポルタメントよりグリッサンドの方がいいかな。多分フォールとか言われる奏法のことだと思うんで。トランペットはトロンボーンみたいに滑らかな音程変化は難しいし。 音量下げて細かい音符で適当に上がったり下がったで、そこそこそれっぽくなりますよ:) BGMPLAY "@56O5 C2 L48)40>BAGFED"2そうだね プレイ済み2017/11/03 17:15:14に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿myu314 myu3142017/9/16 16:07簡単…とはちょっと違うんですけど、GPAINTって複雑な分重いんでGLINEで描いたほうが速度は出ますね(TEST2の方)。 仕組みは円の方程式からx求めて1行ずつ描画してるだけです。数ドット程度の小さい円だと四角くなっちゃうんですが、今回は15pxくらいからだから気にならないかと。1そうだね プレイ済み2017/11/02 21:59:02に取得