プチコン3号 SmileBASIC コミュニティ返信[4]親投稿おちゃめ ochame_nako2015/10/26 23:11描いて頂きどうもありがとうございます。 なかなか良く描けていると思います。 もうすぐWebサイト開設16年なんですね。何か企画をやりたいけど時間的に難しそうです。 ちなみに「小○○」を「小学生」と読んだのはなぜでしょうか?(笑)0そうだね プレイ済み2017/11/03 15:23:52に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿おちゃめ ochame_nako2015/10/25 22:41タバひめさんへ GPSETによる点描の描画も味わい深くていいですよね。 ただし、望んでそのような仕様にしているならばいいのですが、途切れ途切れにならない方が良いと感じている人も結構見かけます。 それは簡単な方法で解決できるため今回自作命令という形でその改善案を提示しました。 みき★さんへ 大したコードではないですが、参考になる部分があったのでしたら何よりです。 この描画アルゴリズムはシンプルでいいのですが、太さ1ドットの線がキレイに描けないのでそれはGLINEを使ってカバーしています。0そうだね プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿おちゃめ ochame_nako2015/10/25 12:38個人的には他の人が作ったゲームで遊ぶため、絵を描くため、音楽を作るためにプチコン3号を買うのは何ら問題はないと思います。 ユーザー層が広がれば使い方も多様化してくるため「プログラムを作るため」という目的で買う人の割合が減るのはやむを得ないでしょう。 というか、これはプチコンに限ったことではなく「○○作って」「○○が欲しい」は昔からよくある話なのですが。5そうだね プレイ済み2017/11/03 18:39:48に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿おちゃめ ochame_nako2015/10/25 12:26私もれいさんと同じく「作ってください」と書くのは何ら問題ないと思いますが、個人的にはせっかくの上達のきっかけを自ら捨てるのは勿体ないと感じます。 絵は「エ□い絵が描きたい」(※エ□のみに限った話ではないけど自分が心底描きたいものなら何でもいい)ということから自分で絵を描くようになりそれが絵の上達へと繋がっていくのですが、プログラムもそれと同じく自分が「これが欲しい」ということが上達のきっかけとなります。 「プログラムを作れるようになる」ということに価値がないと感じる人ならば別にどうでも良いことかもしれませんが。6そうだね プレイ済み2017/11/03 18:39:48に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿おちゃめ ochame_nako2015/10/25 1:00PETIT PAINT QSPのネタをばらすとこんな感じですが、QSPであってもここまで工夫できる余地があるということです。 PETIT PAINT QSPはさらにリスト短縮できる余地が見つかったので大喜利に向けてそのうち新バージョンを公開します。 もちろん、上記BLINE命令を使ったお絵かきソフトを作って大喜利に投稿するのは何ら問題はないし、むしろうれしいのでぜひ使ってみてください。1そうだね プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿おちゃめ ochame_nako2015/10/25 0:54これは本来は見えてはいけない境界色である色コード8の円がVSYNCを省くことで見えているというのを利用しているだけですが、それがカーソル表示となっているわけです。 これによって例えば太い消しゴムを使用時でもどの範囲が消されるのかが一目瞭然となり「PETIT PAINT QSP」は非常に使い勝手の良いお絵かきソフトに仕上がっています。 したがって、アンドゥが無くてもほとんど気になりません。 ラフに描いて余分な部分は削るという描き方が簡単にできるというのが「PETIT PAINT QSP」の最大の特長です。(ペンや消しゴムの太さもワンタッチで自由に変更が可能)1そうだね プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿おちゃめ ochame_nako2015/10/25 0:53というわけで、原理自体は非常に単純ですが、PETIT PAINT QSPではさらなる工夫をしています。 それはメインループからVSYNCを削除しているというものです。 VSYNCは垂直同期とのタイミングを取るための命令であり、これを入れることで表示のちらつきを無くしたり(見えたらいけないものが見えないようにする)、1フレームごとに更新されるボタンやタッチなどの情報とのタイミングを取り誤判定が起きないようにすることが可能になります。 そのため本来はVSYNCはメインループには必ず入れるべきものですが、PETIT PAINT QSPでは入れなくてもタッチやボタン判定で問題が起きることはないし、VSYNCを入れないことでペンの太さに合わせたカーソル表示を可能にしています。1そうだね プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿おちゃめ ochame_nako2015/10/25 0:52素早くタッチペンを動かして描いた場合に線が途切れてしまうのは「タッチ情報の更新は1フレームごと」であるためです。 つまり、1フレームで10ドット分ペンを移動させたら10ドットの隙間ができるわけです。十分に太いペンならばその隙間が埋まるため気にならないですが、太さが数ドットの線では途切れてしまいます。 1フレームあたり1ドット以下の速度でペンを動かしていけばこの問題は起きないですがそれだとまともに描くことができません。 そこで、このプログラムでは1フレームにペンを動かしたドット数分だけループを行い1フレームで何ドット分動かしても内部的には1ドット単位で塗りつぶし円を描画していくという方法を採ることで線が途切れるという問題が起きなくなっています。 端的に言えば線形補間をしているということです。1そうだね プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿おちゃめ ochame_nako2015/10/25 0:49ここでのポイントは境界色の色コードが「8」というものです。 特定の色を境界色に設定しなくてはならないこのアルゴリズムでは当然のことながら「境界色として使った色は描画色では使えない」という問題があります。 それだと困るため普通は使われない色である「8」(A:0 R:0 G:0 B:8)を境界色に設定しています。 これはアルファチャンネルが255以外であれば何でもいいのですが、その中で最も短い「8」にしているわけです。 これが8未満の数だと丸められて0になり、透明色(色コード0)が使えなくなります。1そうだね プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿おちゃめ ochame_nako2015/10/25 0:47初心者向けにBLINE命令の動作原理の簡単な解説をしておきます。 線の太さを自由に設定できるペンを作るためには塗りつぶし円描画プログラムを作る必要があります。(四角ペンで良ければGFILLを使ってもいいし、太さの微調整ができなくて良いならばGPUTCHRを使ってもいい) 塗りつぶし円の描画アルゴリズムは多数ありますが、このプログラムはその中でも最もシンプルなものを使っています。 それはGCICLEで円を描いてそれをGPAINTで塗りつぶしているだけです。 これだとすでに描画されている上にGCIRCLEで描画した場合に境界が不明瞭になり塗り漏らしが生じてしまいますが、特定の色を境界色に設定しその色でGCIRCLEで円を描きそれを基準に塗りつぶしその後で本来の描画色でGCIRCLEで円を描いています。 これによって塗り漏らしがない「塗りつぶし円」を描画可能になります。1そうだね プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿おちゃめ ochame_nako2015/10/25 0:45BLINE命令を使用する場合はX座標、Y座標はそれぞれ0~511の範囲内で指定してください。 太さは半径Rの値で指定しますが、実際に描画される太さは R*2 ドットではなく R*2+1 ドットとなります。 つまり、R=0を指定すれば太さ1ドットの線、R=1ならば太さ3ドットの線になるというわけです。 ちなみにこれをリスト短縮したものをお絵かきソフト「PETIT PAINT QSP」で使用しています。 https://miiverse.nintendo.net/posts/AYIHAAAEAABEVRTpctBKZg1そうだね プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿おちゃめ ochame_nako2015/10/25 0:45この命令をGLINEの代わりに使えば自由にペンの太さを変えることができどれだけ速く描いても線が途切れることがないお絵かきソフトを簡単に作ることができます。 公開キー【 QKX3NEJF 】、ファイル名「BLINE」です。 上記公開キーのプログラムでは動作サンプルとして超簡易お絵かきツールも用意しています。 PETIT PAINT QSPと同じく線の太さは押したボタンによって変わります。 ただし、消しゴム機能やアンドゥなどは用意していません。 あくまで線の描画機能の確認のためのものです。 2そうだね プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティプレイ日記おちゃめ ochame_nako2015/10/25 00:44:14お絵描きソフトを作りたいけど線の太さを変える方法が分からないとか速く描いたら線が途切れ途切れになってしまって困っている初心者の方も多いと思います。 そこでそれを簡単に解決するBLINE命令を作りました。15そうだね 12返信プレイ済み2017/11/03 15:24:51に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿おちゃめ ochame_nako2015/10/25 0:063DSの1ブロックは128KBなのでotta777さんが書いている数字を128で割った数字がブロック数になります。3そうだね プレイ済み2017/11/03 18:40:07に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿おちゃめ ochame_nako2015/10/25 0:01小数演算が行えないのは仕様でしょうか? 例えば1.2+3.4は4.2になってしまっています。0そうだね プレイ済み2017/11/03 15:25:40に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿おちゃめ ochame_nako2015/10/24 23:50上記訂正 ×100以下の整数値 ○100万以下の整数値 この範囲を超える整数値であればSTR$は整数型変数を使うことで約21億まで対応が可能になります。 FORMAT$を使えばさらに大きな整数でも対応が可能です。0そうだね プレイ済み2017/11/03 18:39:56に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿おちゃめ ochame_nako2015/10/24 23:47手っ取り早いのはみき★さんの自作命令を使うことですが、自分の力で作りたいならばみけらんジェロさんが書いているやり方はぜひ覚えておくべきでしょうね。 しかし、実は難しいのは「(複数の変数が結合された)TXTを分解すること」ではなく「分解することができるように結合すること」だと思います。 例えば123、9、78という3つのデータがあって単純に結合"123978"という文字列にしてしまったら分解ができなくなるためです。 そのためには「HPが3桁」とか決まっているならば「9」という1桁の数値でも「009」や「 9」(頭にスペース2つ)というような形にする必要があります。 これはSTR$やFORMAT$を使えば簡単にできます。(使い方はヘルプを参照) 100以下の整数値ならばSTR$を使って何の問題もなく変換が可能ですが、それ以外の範囲の数(例えば小数)では少し工夫が必要になります。1そうだね プレイ済み2017/11/03 18:39:56に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿おちゃめ ochame_nako2015/10/24 23:37プロジェクトは上書き保存ができないので個人的には単体ファイルで公開キーを取得してある程度たまったらプロジェクトを更新というのがベターな気がします。(サイズが小さなQSPとはいえ実際にプレイした人の反応が欲しいならば公開キーはあった方が良い) ゴールド会員ならば100個アップロードできるので毎日QSPを作って公開キーを取得しても3ヶ月は大丈夫です。 ちなみに私のQSP詰め合わせはこちらです。→【 43XKVEJF 】 0そうだね プレイ済み2017/11/03 15:25:14に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿おちゃめ ochame_nako2015/10/24 23:27これくらいの情報公開ならば特に影響を与えることはないと思います。 ちなみに私の手の内を明かすとQSPを応募して入賞を狙っています。 OSP(1画面プログラム)では第1回の大喜利で入賞できたので次はそれより制限がキツイQSPかなと思っています。2そうだね プレイ済み2017/11/03 15:25:05に取得
プチコン3号 SmileBASIC コミュニティ返信[15]親投稿おちゃめ ochame_nako2015/10/24 1:21100桁といってもたかが42バイト程度の情報量です。丸暗記でも楽勝です。 しかし、語呂合わせで覚えたら数倍の量にふくれあがってしまうので時間内に覚えるのは難しかったことでしょう。1そうだね プレイ済み2017/11/03 18:40:27に取得