Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
153 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
次のページ(過去)
返信[2]
親投稿
otta777 otta777a
残念ですがプログラム中ではPROJECT命令は使えません。 ダイレクトモードのみ有効なコマンドなんです。
1そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
その役目はハカセが・・・おや、誰か来たようだ
2そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
y座標を250加算した場合の数字ですが250~439は 間違いです。250~489に訂正して下さい。
0そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
アニメの設定についてはボタン入力前のCHRの値を記憶して おいてボタン処理後にボタン入力前のCHRの値が0でボタン 入力後のCHRの値が0で無い場合に歩くアニメの設定をすれば いいかと思います。 CHRの値が0で無いときにアニメ設定をすると移動中は毎回 アニメ設定がされるため動いて見えないと思います。
0そうだね
プレイ済み
返信[4]
親投稿
otta777 otta777a
>スムージーさん IF BUTTON() AND 1の条件が一致したときにY座標を操作 するところが2カ所有るため移動量が正しく処理されていません。 毎回BUTTON()と記述するのも長ったらしいのでIFで判別する 前にBTにBUTTON()の値を代入してから8行目を IF BT AND 1 THEN Y=Y-2+((BT AND 4)||(BT AND 8)):SPCHR 0,508:CH=508 として10行目は削除して下さい。 9,11行目も同様にして下さい。 12,13行目は上か下の入力が有ったら移動量を減らして下さい。
0そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
斜めの時はX,Y座標共に1ドットずつの移動って事でよろしい でしょうか? ANDで処理する場合は特定の条件の時に移動量を調整する 事で解決できるかと思います。 具体的には BT=BUTTON() IF BT AND 1 THEN Y=Y-2+((BT AND 8)||(BT AND 4)) (|記号はキーボードAの左の記号です) 上方向に移動するときに右か左も入力されていたら移動量を 減らす処理をそれぞれの方向に追加したら斜めの時はX,Y 1ドットずつの移動になりますが、これで目的の処理となりますか?
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
動いているときに歩くアニメーションをさせて止まっているときには アニメショーンを停止する方法ですが、方向移動に有効なボタン 入力があるときは移動中、入力が無いときは停止中とします。 アニメーションの設定は停止中→移動中に変わった時に歩く アニメーションをさせ、移動中→停止中に変わった時に 歩くアニメーションを止めさせれば目的の動作が出来ると思います。
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
HELPの書き方が不親切ではあるのですが(n、)nでnで指定した 数値分音量を上げ、下げするMMLコマンドの様です。 nを省略すると1を指定したのと同じ扱いになります。 )50とすると認識出来るくらいに音量が下がるのが確認出来ます。
1そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
>R.Mさん 非常に贅沢な使い方ですがGRP2とGRP3に描いた絵をGCOPYで GRP0にコピーすることでソフトウエア的に重ね合わせをする 事はできます。 重ね合わせる画像をGCOPYするときはコピーモードを0にして 「透明色をコピーしない」を指定して下さい そんなにページを使うなんてとんでもないという事でしたら 同じページの非表示エリアにもう一画面分グラフィックを 描いて重ね合わせてもいいかもしれません。 Y座標を250加算して250~439までにもう一枚描くと いいと思います。
1そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
ヘビゲームはアクションゲームの基本的な要素が詰まってるので ぜひ触れて欲しいと思います。 自分もこれでキー入力でキャラクターを動かしたり、ランダムな 位置に障害物を出したり自分が障害物にぶつかったかどうかの 判定をする方法を覚えました。
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
メインループの外にボタン入力とボタン入力による座標の変更を 行うプログラムがありますが、そのプログラムが実行されて いないのではないですか? @MYSHIPでどのような処理をしているのかがこのスクリーン ショットからでは分からないのでその部分のプログラムも 開示して頂けると原因が特定できるかと思います。
0そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
プチコンの処理速度は非常に速く一つ一つの命令は瞬時に 処理が終了してしまいます。 このプログラムの場合Aボタンを押すとサイコロの目が確定して さいころの目の数だけ移動してすぐAボタン入力のチェックを 行います。Aボタンが押されたままの状態だとすぐにサイコロの目が 確定して・・・ということが繰り返されるためボタンを放したときには 1回のさいころの目の数より遙かに多く進んでしまっていると 考えられます。 プレイヤーの表示とさいころの目の表示をするところにVSYNCを 追加すると目で追えるくらいのスピードに調整できます。 VSYNCのフレーム数はお好みで調節して下さい。 Aボタンを押しっぱなしにしたときにすぐサイコロの目が確定しない ようにするにはBUTTON()をBUTTON(2)に変更して押された 瞬間を取得するようにして下さい。
1そうだね
プレイ済み
返信[54]
親投稿
otta777 otta777a
>nobuさん BASIC自体は長く使ってるんでそこそこ経験があるんですが プチコン3号はスプライト、BG、ユーザ定義命令、関数が使える などと独自仕様が満載なんでそのあたりはまだまだ勉強中 なんですよ。自分も他の方の疑問や質問を見て気付かされる ことが有るんで勉強させて頂いています。
1そうだね
プレイ済み
返信[2]
親投稿
otta777 otta777a
グラフィックページは上画面、下画面とも任意のページを 表示可能でGPAGEの表示ページで指定ができます。 R.Mさんは言われる複数ページの表示というのは重ね合わせを して表示がしたいということでしょうか?
0そうだね
プレイ済み
返信[52]
親投稿
otta777 otta777a
IF~THENでラベル文字列が使えないのはGOTOを省略した 場合です。IF~THEN GOTO ラベル文字列は問題無く 使用できます。 ON~GOTO(GOSUB)でラベル文字列が使えないのは ラベル文字列で変数を使用すれば飛び先を変更できるのに わざわざ変数の値で飛び先を複数指定するのは内部的な 処理が煩雑になるため非対応としていると考えられます。 元々ON~系の命令はGOTOやGOSUBの飛び先が変数を指定 できない仕様のBASICでIF文を羅列せずに記述するための 命令でした。
1そうだね
プレイ済み
返信[46]
親投稿
otta777 otta777a
ラベルに使用できる文字については数字、アルファベット、 アンダーバーのみでアルファベットは大文字小文字は区別 されません。 ピリオドは文字の色がラベル名と同じ色になりますが、プログラムを 実行するとSyntax errorになります。
1そうだね
プレイ済み
返信[45]
親投稿
otta777 otta777a
ラベルにラベル文字列は使えないというのはGOTOやGOSUBで 指定する飛び先のラベルは文字列でも指定できるけど 飛び先を示すラベルはラベル文字列を指定することはできない という事ではないでしょうか? JMP$="@SUB" GOTO JMP$ はOKでも JMP$ PRINT JMP$ のようなことはできないと言うことではないかと思います。
1そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
安易ですけど イージー→ノーマル→ハード→(スーパーハード)→エキスパート ではいかがでしょう? エキスパートは熟練者向けって意味です
0そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
キーボードのAの左にある¦の記号ですね。記号のグループの文字は 使えませんね。
0そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
プログラム起動時に全ての変数を初期化する仕様でプログラム 中ではCLEARコマンドは使用できません。 変数を初期値に設定したいと言うことでしたら@INITなどの サブルーチンに変数の初期値を代入をするプログラムを記述して プログラムから@INITを呼び出せば初期値に戻せます。
0そうだね
プレイ済み