Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
130 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 5051
次のページ(過去)
返信[1]
親投稿
ASA fusuian
TMREADで現在時を取るときは TMREAD OUT H,M,S だけでいいんですが、デジタル時計でしたらTIME$を使った方が早いと思います。(アナログ時計でTIME$を使って失敗したと思ってるワタシ…^^;) あと、時計にするにはずっとプログラムを動かし続けます。 例えばこんな感じです。 WHILE 1 PRINT TIME$ WAIT 60 WEND 日付用のDATE$もあるので組み込んでみてください。
0そうだね
プレイ済み
返信[4]
親投稿
ASA fusuian
1については、僕の活動の11/22のサンプルを参考にしてみてください!
0そうだね
プレイ済み
返信[3]
親投稿
ASA fusuian
次に2行きます。 まず@MAINの直前で、すべてのスプライトに当たり判定をセットします。 SPCOL 1 FOR I=11 TO 18 SPCOL I NEXT こういうときはFOR文が便利です。 SPCOLの設定は、SPSETすると消えてしまうので、IF BUT…のあとのSPSETは全部消します。 最後に、WAIT 1の前に当たりをチェックします。 H=SPHITSP(1) IF H>1 THEN BEEP 7: SPANIM H,"XY",-30,-16,-16 コインを拾ったらどうなるかは、打ち込んでのお楽しみ(^^)
0そうだね
プレイ済み
返信[2]
親投稿
ASA fusuian
まず3から、CLSをLOCATE 0,0にすると直ります。
0そうだね
プレイ済み
返信[2]
親投稿
ASA fusuian
始めはダイレクトモードでBEEPやPRINTやTALKなんかの命令を試して、コマンドに慣れるのがいいのかな?と思います。
0そうだね
プレイ済み
返信[13]
親投稿
ASA fusuian
ふつうアナログ時計というと文字盤の要領で、三角関数でGLINEなんか使うところですが、回転と拡大機能が強化されたプチコン3号なら、ほぼSPROTだけで作れるんじゃないかというアイデアでした。 小さな時計に改造すれば、OSもどきプログラムなどに追加できると思います。
0そうだね
プレイ済み
返信[12]
親投稿
ASA fusuian
できた!
0そうだね
プレイ済み
返信[11]
親投稿
ASA fusuian
16行で、Aの初期値を1時の方向にセットすれば…
0そうだね
プレイ済み
返信[10]
親投稿
ASA fusuian
うーんちょっと違う。三角関数の0°は3時の方向か。
0そうだね
プレイ済み
返信[9]
親投稿
ASA fusuian
おなかもふくれたので背景と文字盤をつけます。 10~12時はHEX$(ヘックスドル、HEXADECIMAL ヘキサデシマル=16進数の略称)を使ってサッとA,B,C時にしました。 HEX$が返す文字をASC(アスク、ASCII アスキーの略称)にかけると文字コードが取れます。 数字、アルファベットの大文字、一部の記号は、そのままスプライトの定義番号にできます。これ小技。 こうして作ったスプライトを、三角関数で外周にぐるっと置きます。
0そうだね
プレイ済み
返信[1]
親投稿
ASA fusuian
状況によって1,2,3どれも使いますね。 テンキーは3だったり、イエスノーくらいなら画面を半分に割って中央より上か下かで判定すればてっとり早いし、ピアノの鍵盤を作ったときは座標と色(黒鍵白鍵)の合わせ技で音階を割り出しました。
0そうだね
プレイ済み
返信[8]
親投稿
ASA fusuian
やった!朝メシにしよう!
0そうだね
プレイ済み
返信[7]
親投稿
ASA fusuian
HOURをそのままSPROTに渡すんじゃなくて、MINを加えましょう。 HOUR×60で分単位に変換して、MINを足した値を新しい変数HM(Hour Minuteを略した)に入れます。 すると、12×60=720なので、HM÷2をSPROTに渡すと…
0そうだね
プレイ済み
返信[6]
親投稿
ASA fusuian
完成!いやちょっと待て。短針のアナログ感が足りなくないか。 8:30には、短針も8時と9時の間を指させたいねえ。
0そうだね
プレイ済み
返信[5]
親投稿
ASA fusuian
短針もほぼ同じ。スプライト番号は2で、SPHOMEとSPSCALEの値が現物合わせで変わって、T$の左の2文字をHOUR(アワー、時)に入れます。 SPROTの角度は360÷12=30をかけます。午後もこれでOK。
0そうだね
プレイ済み
返信[4]
親投稿
ASA fusuian
同じように長針を作ります。 スプライト番号が1なのに気をつけて、秒針のコードをうまくコピペしましょう。 カギはMID$(ミッドドル、MIDDLE 真ん中の略称)でT$から分を取り出すところ。 MID$(T$,3,2)…「0から数えて」3文字めから、2文字取り出しています。
0そうだね
プレイ済み
返信[3]
親投稿
ASA fusuian
現状こんな画面。
0そうだね
プレイ済み
返信[2]
親投稿
ASA fusuian
TIME$(タイムドル)で、現在の時刻が取れます。 "時:分:秒"形式の文字列で、右側の二ケタ分が秒なので、RIGHT$(ライトドル)で取り出します。 文字列のままでは計算ができないので、VAL(バル)で数値に変換します。 VALはVALUE(バリュー)=値の略称ですね。 これで変数SEC(セク、SECOND 秒を略した)に0~59の現在秒が取れます。 SPROT(エスピーロット、SPRITE ROTATEの略称)の角度は0~360で指定するので、SECに6をかけます。 おお!なんか時計っぽい!
0そうだね
プレイ済み
返信[1]
親投稿
ASA fusuian
なんか軸がズレてる感じなので、GCIRCLEで中心を表示。 やっぱり!てなわけで、SPHOMEとSPSCALEを組み合わせて調整。
0そうだね
プレイ済み
投稿
ASA fusuian
SPROTでアナログ時計を作ってみようと思い立ちました! まずは秒針を表示。
12そうだね
プレイ済み