プチコン3号 SmileBASIC コミュニティトピックたくみ somsss2016/11/16 21:30:56質問PRINT文の文字点滅表示させた文字を点滅させるのはどんな文ですかね? あと、WAIT で時間を待ってるときに、ボタンの反応ができるようにするのはどんな文になっているのかも、お願いします。 まだ初心者なので出来るだけ分かりやすくお願いします。0そうだね 19返信プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿あまさと しおん ShionAmasato2016/11/16 21:38点滅…ありませーん 反応…ありませーん PRINTですでに表示したものをいじる命令はないし WAITはバックグラウンドな処理(MMLとか)以外割り込めないからね…0そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿あまさと しおん ShionAmasato2016/11/16 21:38そこは工夫でどうにかするんだけど、明日見に来る0そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿たくみ somsss2016/11/16 21:41明日お願いします。 いつもすみません。 1そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿ネタバレおちゃめ ochame_nako2016/11/16 22:18あまさとしおんさんがコメントしているように標準ではそのような機能はありません。 したがって、望む機能を自分でプログラムを作って実現するしかありません。 点滅させるには一定時間ごとに表示と消去を繰り返せばいいです。消去するには表示している文字数分のスペースを表示するのが一番簡単です。 長いWAIT中にボタン入力を可能にするにはWAIT 1をループで回してボタンが押されたらループから抜けるようにするのが一番簡単です。 というわけで、自作命令BLINKとWAITBを作ってみました。 「BLINK 表示文字列,時間」と記述することで指定した時間(フレーム数)ごとに表示と消去を繰り返します。(消去で終了した場合には画面には表示されないので注意) 「WAITB 時間」と記述することでその時間(フレーム数)だけ待ちますが、ボタンが押されたら待ちを終了します。3そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿おちゃめ ochame_nako2016/11/16 22:24上記のものは即興で作ったプログラムであり例外処理等は不十分な部分があるかもしれないし、望んでいる機能とは異なるかもしれないです。 改造は自由に行って構いませんので適当に改造して使ってください。 なお、分からないところがあれば言ってもらえたら解説します。1そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿ΖΕΧ ZEX2562016/11/16 22:26表示された文字色を変える命令作ったよ3そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿みむ*mim hidemimtp2016/11/16 22:45コンソール文字の点滅命令はないので、PRINT文で描く→消す(空白で上書き)を数フレームごとに行うのが一般的です。 WAITで待っているときはどうやってもボタンは効きません。 入力待ちなら、 REPEAT WAIT 1 UNTIL BUTTON()!=0 のように、ボタンが押されるまでWAIT 1(またはVSYNC)を繰り返す方法などがあります。2そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿ネタバレマギー M1912462016/11/17 4:00二つの質問から、例えば 『PUSH A』という文字を 時間制限付きで点滅させて その間も、ボタン入力を受け付けたい ということでは? 考え過ぎかな? 1そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿SilverBlue Corei72630QM2016/11/17 5:32やっぱりMAINCNT MOD N(間隔)が一番かな。2そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿たくみ somsss2016/11/17 7:57おちゃめさん、ZEXさん、みむ*mimさん、silverblueさん、 ありがとうございます。 マギーさん いえ、考えすぎでないです。そのとうりです。1そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿たくみ somsss2016/11/17 17:54おちゃめさん BLINK WAITB は自分で作った命令と言うことですか?1そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿ネタバレマギー M1912462016/11/18 2:00おちゃめさんの二つの命令を 合成すればできそうです。 続きの解説は、おちゃめさんに渡します。 0そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[14]親投稿ネタバレおちゃめ ochame_nako2016/11/18 5:38両方とも私が作ったものですが、即興で作ったので大したプログラムではありません。 実はWAITBは引数に0を入れると無視されるというWAIT 0と同じ特性を持つのですが、さらに負数を入れると無限ループにできるという独自仕様になっています。 つまり、WAITB -1とすると時間制限なくボタン入力待ちになっているということです。 ただし、基本的にWAITBはボタンを押すまでは命令内でのループとなっていてメインの方に処理が移らない(LOCATEでの位置指定を行うことができない)ためBLINK、WAITBの2つの命令を単純に合算するわけにはいきません。(最初から拡張しやすい設計にしておけばこんなことにはならなかったけど無駄に長くなるのを嫌ってしまったため)0そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[15]親投稿ネタバレおちゃめ ochame_nako2016/11/18 5:382つの命令を合算したBLINKW(ブリンクウェイト)命令を作るとしたら最も簡単なのはLOCATEを自作命令の中に組み込むことですが、そうなると表示X座標、表示Y座標も引数に入れる必要があります。 そうやって作るのが一番簡単ですが、個人的には無駄に引数が増えるのは嫌なのでLOCATEは自作命令の外(メインループ内)で設定できるようにします。 これは現在の表示座標を示すシステム変数CSRX、CSRYを使い実現しました。 というわけで、点滅しながら一定の時間を経過するかボタン入力されるまで待つBLINKW命令はこんな感じになりました。 BLINKW 文字列、点滅間隔、待ち時間と記述します。 自分が作るゲームにこのまま使ってもいいし自由に改造して使ってもOKです。0そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[16]親投稿ネタバレおちゃめ ochame_nako2016/11/18 5:50BLINKW命令で表示位置指定もしたいという場合はBLINKW A$,X,Y,S,Tに変更して10行目は削るだけで対応できます。 なぜ最初の段階でわざわざLOCATEを別に指定するようにしたかというとPRINT命令からの置き換えを容易にするためです。0そうだね プレイ済み2017/11/03 17:42:17に取得
プチコン3号 SmileBASIC コミュニティ返信[17]親投稿たくみ somsss2016/11/18 7:39なるほど! とても分かりやすい説明ありがとうございました m(._.)m0そうだね プレイ済み2017/11/03 17:42:17に取得