Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21184
次のページ(過去)
返信[2]
親投稿
BGを使うならやっぱりBG系の命令を覚える必要がありますね〜。 ちなみにBG面(レイヤー)やBGキャラ(チップ)番号、BGの座標系などの内容はわかりますか? その辺の基本構造を理解してないと命令に書いてある文章の意味がわからないかなと思ったので一応聞いてみました。
1そうだね
プレイ済み
返信[3]
親投稿
PUCHI-MAP改造凄いですね〜。 BGを文字列にして出力する機能は実装しようかと思っていたのですがなんだかんだで忙しくなったりなどもあり結局実装しなかったという事もあるんで、ちょっと興味がありますね〜。 どんな感じで出力されたのかも見てみたいので、PRG1に出力した結果の画面とかも載せてもらいたいなーって感じがあるんですかどうですかね?
1そうだね
プレイ済み
返信[11]
親投稿
過去の要望がわからないし何度同じ事を言ってしまう可能性もあるんでSmileBASIC公式ページの「更新と障害情報」のように、SmileBASIC公式ページに「要望と対応情報」みたいなページを作って今までに上がっている要望や対応してもらえたならそのバージョン、インターネット接続のように対応そのものがセキュリティ関係で無理なものは対応不可などの情報を載せて欲しいなぁ、と思います。
5そうだね
プレイ済み
返信[3]
親投稿
載せてるプログラムの見えている箇所ってロードっぽいけど、だとしたら変数に対する代入が逆のような…。 GENDER=SAV[0] … にしなければ読み込んだデータを変数に戻せないですよ。(セーブならあってるけど)
3そうだね
プレイ済み
返信[18]
親投稿
BGGETはBGの指定座標のBGキャラ番号を調べる命令です。なので通常は、 C=BGGET(レイヤー番号,X座標,Y座標,1) のような感じにしてキャラ番号を求めて、それをIFなどで判定します。この場合の最後の1はスプライトの座標で調べる事が出来る機能で、0や省略するとBGの座標で指定する事になります。 というか始めの質問と内容が変わっていますし、投稿も古くなっているので新規で質問を立てた方が色んな人から答えがもらえると思いますよ〜。
2そうだね
プレイ済み
返信[8]
親投稿
下の自機をもっと下にして、上を敵にして上下で一対一で打ち合うような簡単なゲームを作ってみても良いかもですね〜
2そうだね
プレイ済み
返信[1]
親投稿
自分で絵が描けなくてもプリセット(用意されている)画像からSPSETなどでスプライトを表示することも出来ますしBGも用意されているので、まずはその素材を使って何か作ってみるのもいいかと思います。 とりあえずプログラムの基礎を学びながらスプライトを表示したりボタン(やスティック)で動かすのも目標に進めていくのもいいんじゃないかと思います。
0そうだね
プレイ済み
返信[2]
親投稿
SPCOLで範囲を指定すれば自機より小さい当たり判定を作る事は出来ますし、当たり判定そのものを自分で座標計算で行えば色んな判定をすることも出来ると思います。 またレーザーもグラフィックに直接描く方法やスプライトを伸縮するなど、工夫をすれば色んな方法があると思いますよ。
4そうだね
プレイ済み
返信[5]
親投稿
歩行のやり方は色々あるしサンプルが出ているみたいなので、僕も以前投稿したサンプルを載せておきます。参考になれば…。
1そうだね
プレイ済み
返信[6]
親投稿
プログラム見てもSPOFSがあるわけじゃないし質問の意図がわかりにくいのかも…。 ちなみにSPDEFを見た感じ原点が(32,16)の右下になってるみたいですが、それは意図通りですか? 意図通りなら問題ないですがSPOFSで指定した座標がスプライトの右下の位置なので例えば座標(0,0)の位置に表示したときとかは見えないかなと思ったので。
1そうだね
プレイ済み
返信[29]
親投稿
ごめんなさい。BUTTON(2)の処理がWAITでおかしくなるのは1以上じゃ無くて2以上の時です。 あともしFORでTOの値が始めの初期値より小さい場合はループの中身は実行されません。(STEPでマイナスを指定した場合を除く) と言うのもふまえて、ループ回数の件は、さらにループして欲しくないケース、と言うのも考えていくとわかってくると思います。 と言うことで頑張ってください!
1そうだね
プレイ済み
返信[28]
親投稿
何故0ではダメで1にしないといけないかはわかりましたか? 考え方として、FORにしたのはWAITの数が1以上だとBUTTON(2)の処理が正常に行われないという事もあります。なのでFORでのループ回数と本来のWAITで止めたい時間は一致する必要があります。 FORの場合、例えばI=0 TO 5とした場合、ループ回数は6回になりますよね?(0,1,2,3,4,5) ……という風に考えていくと見えてくると思います。 あと17行目と18行目は入れ替えてWAITを先に持ってきた方がいいかな。と言うのは、今回は大丈夫そうだけどBUTTON命令はVSYNCやWAIT時に更新されるので、その前にVSYNCやWAITがないと以前の値が変化しなくて予定通りに処理されない場合があるからです。ただ逆にした場合最低無駄に1フレームは経過しちゃいますが、それは許容範囲なレベルかなと思います。
1そうだね
プレイ済み
返信[27]
親投稿
そうそう。FOR I=3って書いたならIは3からスタートします。念のため。
0そうだね
プレイ済み
返信[26]
親投稿
中のFORはI=1の1からスタートしてTOのXSLOWまで繰り返します。 つまりSLOWに5を入れた場合、XSLOW=SLOWにしているので、1〜5までの5回繰り返してFORを抜けます。 で、FORを抜けたときには、Iの値はTOで指定した数(変数)の次の値になっています。なので、XSLOWが5の時は、それが抜けたタイミングでIをPRINTしているので、次の数字である6になっている、って感じです。 わかったかな?
1そうだね
プレイ済み
返信[17]
親投稿
インデントが4つだしパソコン的な感じでのスペースの入れ方のような気がするけど、プチコンだと表示桁数があまり多くないので結果的にスペースは減らした方が見やすくなる事が多いと思います。 インデントも多い方が良ければ2つでいいと思うし、とくに1つでも問題ないような気がします。(PCだと1つとか2つだと少なく感じるんだけど何でだろう…) で、当たり判定の質問をしている割にはキャラの移動が出来てなかったりとチグハグなので、キャラ表示から少しずつ進めていくのがいいですね。 とりあえずスプライト表示は出来たみたいなのでたばすこ(*°д°) さんの答えを参考に動かすのに挑戦して、うまくいかなかったりまだわからない感じだったら追加で質問していくといいと思いますよ。
0そうだね
プレイ済み
返信[23]
親投稿
そうそう、どうしてもわからなかったりヒント?が欲しかったり、なにかアドバイスした方が良さそうな事があったら聞いてくれたら答えますよ。なのでずっと悩み続けるような事になりそうな場合は言ってくださいー。
0そうだね
プレイ済み
返信[22]
親投稿
そうですねぇ…。答えるのは簡単なんですが、一度考えてみるのもいいと思いますよ。 プログラムの流れを追って実際の変数の変化を考えてみて、0だとダメで1だと大丈夫な理由を考察してみるといいと思います。 意地悪で言ってるんじゃ無くて、そうやって考える事が大事だと思いますし力になると思うので…。(そしてその作業は面倒ではありますが難しいわけではなく為になると思うので)
1そうだね
プレイ済み
返信[2]
親投稿
BGGETを使うと指定座標のBGキャラ番号が求められる(当たりがわかる)ので、それが目的の番号(例えば1)ならBGPUTで同じ位置に0を置けば消すことが出来ますよ。 気をつけるのは座標系で、スプライトの座標に対してBGはサイズによって座標の範囲が変わるので、スプライトの座標からBGの座標に変換する必要があります。 通常は16×16のBGなので16で割ればいいことになりますが、BGCOORD命令を使って変換する方法もあるので、好きな方でやってみてください。 ちなみにBGGETで指定するのは座標になるので、スプライトのどの位置で判定するかは自分で決める必要があります。通常はスプライトの中央にすると思いますが、スプライトが大きい場合などは1点ではなく複数の点(右上、左上、右下、左下等)を利用する場合もあります。当然チェック回数が増えてしまうのが難で面倒ですが…。
1そうだね
プレイ済み
返信[20]
親投稿
おかしいですね…。僕の書いたサンプル通りならスキップ出来るのは確認してます。見た感じだとBUTTONの後にWAITがありますが、僕の場合はBUTTONの前にWAITの違いはありますが…。 ……と思ったら、あとIが0からになってますね。Iは1からじゃないといけません。 と言うことでサンプルと同じにすればWAISLOWが無くてもXSLOWを0にするだけでスキップ出来るようになりますよ。
1そうだね
プレイ済み
返信[18]
親投稿
とりあえず進展して良かったです。 ちなみにWAISLOWは使わなくてもWAITにすれば大丈夫ですよ? XSLOWを0にすればWAITのループには入らなくなるので。 あとは出来ればインデントもきちんとすれば見栄えが良くなりますけどね〜。 と言うことだけど、これからも頑張ってください!
0そうだね
プレイ済み