Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
189 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109184
次のページ(過去)
返信[10]
親投稿
なるほど〜。XSCREENによる切替をすればOKなんですね。 となるとやっぱりちゃんとしたキーボード再表示命令が欲しくなりますね〜。一応要望としては社長に伝えてあるはずなので、あとは採用されるかどうかですねー…。
0そうだね
プレイ済み
返信[2]
親投稿
ユーザー定義命令のOUTはあくまで値を返すためのもので、それは関数内で設定してあげないといけないのです。 今だと関数内でPXとPYを使ったり返したりしてますが、それが初期化(設定)されてないのでおかしなことになってます。(ちなみに引数の変数名が関数外と同じでも関数とそれ以外の変数は別々の元のして扱われます) なので、この場合は、引数で受け取ったXとYを初期化に使えば良いので、11行目の位置で、 PX =X:PY=Y とすれば意図した動作になると思いますよ。 また呼び出し側もCALL命令を使わないでも、 P_MOVE PX,PY OUT PX,PY と書くだけで大丈夫です。CALLは呼び出す命令を文字変数で動的に変更するなどの特殊な用途以外ではあまり使わない命令じゃないかなって思います。
0そうだね
プレイ済み
返信[8]
親投稿
入力系の処理をいれるということは、いったんそこで入力を求める処理(キー入力待ち)が入っちゃう感じですかね? だとしたら全部INKEY$でやろうとしている場合はちょっとだけやっかい? まあでもとりあえず出来ているっぽいので問題ないのかな? 僕は試してないのでわからなかったりするのです…
0そうだね
プレイ済み
返信[1]
親投稿
とりあえず短いプログラムとかでも組んだことがありますか? なかったらそこから始める感じになると思います。 一応プチコン3号の電子説明書には一通り目を通しておいた方がいいと思います。(始めは完全に理解出来なくてもいいです。理解出来ないのが当たり前なので) そしたらまずサンプルを動かしてみたり、公開されているプログラムを動かしてみながらなにが出来そうかを考えたりして、その後、自分でプログラムを組んでいく(勉強していく)感じになるんじゃないかと思います。 始めはわからないことが多いと思うので、少しずつやっていく感じで質問をしていくといいと思いますよ。頑張ってくださいね。
0そうだね
プレイ済み
返信[4]
親投稿
一度プログラムを抜けないと表示が更新されないんですかね?! それはやっかいですねー…
0そうだね
プレイ済み
返信[2]
親投稿
何をセットしたら真っ白になったんですか?
0そうだね
プレイ済み
返信[3]
親投稿
すいません。最後の例、"I+"指定の間違えでした…。
0そうだね
プレイ済み
返信[2]
親投稿
Mさんの発言を補足すると「実行時から」というのがポイントで、普通の相対だと今の位置からの相対と言うことになるので、"XY+"指定でX指定が10、Y指定が0で繰り返しにすると(今基準で)だんだん右に動くようになるはずですが、そうではなくて、この命令を実行したときのスプライトのXY座標を基準として相対的になるので繰り返したとしても命令実行したときが(30,10)とかだとしたら、(30+10,10+0)の(40,10)に移動するだけなので繰り返しても一度しか動かない感じになると思います。 逆にアニメーション("I"指定)などの場合は、SPANIM 0,"I",4,0,4,1,4,2,4,3,0とすれば、この場合スプライト番号0番の今の定義番号を基準に4パターンで繰り返しアニメーションをするようになります。(SPSETやSPCHRで始めに設定したキャラが基準になる)
0そうだね
プレイ済み
返信[14]
親投稿
お疲れさまでした〜。 出来たコードにちょっとだけアドバイスをすると、レイヤー0〜3の処理は似たような処理になるのでFORをうまく使うと省略して書けますよ。 あとDIMでBGのサイズを指定してますが、実際はもうちょっと大きいサイズを使うので、実はLOADで自動的に配列のサイズが拡張されてるんでうまく動いてます。なので正確に書くなら、DIM BG[64*64]もしくは自動拡張をアテにしてDIM BG[0]としちゃう手もあります。(僕のサンプルではそうしてます) あとは最後のVSYNCはなくても大丈夫ですよ。というかVSYNCはメインループの中で入れる方がいいので、このプログラムの場合は明確なメインループがないというか、あるとしたら5行目と6行目の間ぐらいですね。まあでもそんなに気にすることもないかなぁ…。 とはいえ正常な動作をしているのが一番なので良いと思いますよ!
0そうだね
プレイ済み
返信[12]
親投稿
通常セーブ版は読み込むのに専用のプログラムが必要になりますよ。 方法はいくつかありますが、シンプルなのを一つだけ参考用にあげておきますね。 頑張ってくださいー。
0そうだね
プレイ済み
返信[8]
親投稿
そうそう。レイヤータイプのセーブファイルを読み込むときは、BGLOADする前にBGSCREEN命令でBGのサイズを変更するのを忘れないでくださいね。 公式マップエディタの画面サイズは64×64固定なので、BGSCREENで各レイヤーのBGサイズも同じように合わせておく必要がありますのでー。
0そうだね
プレイ済み
返信[5]
親投稿
BGスクリーンセーブはBGのレイヤーひとつが1ファイルになる形式で合計4回出力されるはずですよ。 BGスクリーンセーブで書きだしたBGは LOAD "DAT:ファイル名", 数値配列 で配列に読み込んでから、 BGLOAD レイヤー, 数値配列 の形で簡単に読み込む事が出来ますが、BG4面使ってる場合は4枚とも読み込まないといけないのとBG4面使ってる場合は合計した場合、ファイルサイズが約2倍になっちゃうはずです。
0そうだね
プレイ済み
返信[2]
親投稿
ゆったりmgおかピーさんの言うようにRND関数で出来ますね。 ただ単純にRNDだと変に暴れてるおかしな人になるので、普通は条件も組み合わせてやる感じだと思います。 例えば凄く大ざっぱですが、相手との距離が遠い場合、RND(10)、6未満、相手に近づく、6以上9未満、相手から離れる(距離を取る)9、遠距離攻撃、みたいな。 また近い場合は、それが射程距離ならどうこうとか、相手が攻撃してきていたらジャンプしてかわすとか、そんな条件や乱数の組み合わせでそれっぽく動かす感じになると思いますよ。 どちらかというと状況によって候補を用意して、その候補に対してランダムで選択させるようなパターンの方が多いかもしれないですね。
0そうだね
プレイ済み
返信[4]
親投稿
15秒と5分だと凄い差ですね…。僕は旧3DSLLなので厳しそうだ…。 でもマップの自動生成、面白そうですね〜。
1そうだね
プレイ済み
返信[7]
親投稿
ドラゴンを倒せる潜在能力を感じれば倒しかた教えますが、そうじゃない人にはやっぱりスライムを勧めちゃいますよね(^^; まあ教える人もある意味真剣だから説教くさくなる部分もあるんだと思うし、教える方も教わる方も気分良く良い関係で成り立つコミュニティーになればいいですよね〜。
3そうだね
プレイ済み
返信[6]
親投稿
おちゃめさんの方法だとカンマで入るタブスペースがうまく後ろの文字を消してくれるみたいですね(ですよね?) シュナさんのやり方ですが、もうちょっとだけ楽にする方法はありますよ。右揃えなら、 PRINT RIGHT$(" "+STR$(NUMBER),4) って書く方法もあります。 ただどちらにしてもプチコンにはFORMAT$があるのでそれを使った方が便利で応用も利きますよね。とくに決まったスペース内にきちっと文字を収めたいときはFORMAT$を使うのがベストじゃないかと思います。(文字列の右詰はマイナスを指定すれば可能です)
0そうだね
プレイ済み
返信[35]
親投稿
僕も本当に共同企画は難しいと思っています。(個人的に友達と作る事もありますが、それでも大変なので) なので1行とかリレーとかじゃないですが、参加すること自体が面白そうなものやそんなに気負わなくても参加出来るもの、なるべく短い期間で終わるものとかなら良いのかなって思いました。ガッツリ何日もだと辛いですが、やり方によってはちょっとだけ参加してみようかなと思う事もあるかもしれないし、内容次第では僕もそういう感じで参加出来るのかもしれないなと思いました。
0そうだね
プレイ済み
返信[4]
親投稿
でも精度が高いのであれば、すごろく的なやつやスロットなど、乱数の質が影響するケースでは有用かもしれないですね。 要は使い分けかな…。頑張ってください〜。
0そうだね
プレイ済み
返信[2]
親投稿
他には弾を飛ばすときにキャラクターの向きを調べる方法もありそうですよね。お好きな方でどうぞ〜。
1そうだね
プレイ済み
返信[2]
親投稿
とりあえず結論的にはプチコン3号のRND関数で問題なさそうってことかな? あるものが使えるのならとりあえずそれでOKですね。(興味としては存在しますが)
0そうだね
プレイ済み