トピック
覚えておくと、便利なコマンドの用途などを、教えてください。
1そうだね
プレイ済み
返信[1]
親投稿
3号からの参戦です。 DIRECTモードで使えるオススメのコマンドを紹介します。 LIST…DIRECTモードからEDITモードに切り替える。LIST n:mみたいに指定するとスロットnのm行目に飛べる上にLIST ERRでエラーが発生した行に飛べてとても便利なコマンド RUN…プログラムを実行する基本的なコマンド。RUN nのように指定すると、スロットnに書かれたプログラムを実行できる。 ACLS…画面を完全に消去する。読み込んだグラフィックやフォントも消えてしまうので注意。
0そうだね
未プレイ
返信[2]
親投稿
続き SAVE…書いたコードやグラフィックを保存できる。SAVE "ファイル名"のように使う。必ず確認ダイアログが出てくる。 LOAD…ファイルを読み込む。使い方は基本セーブと同じだが、LOAD "ファイル名",0と書けば確認ダイアログが出てこない。 DELETE…ファイルを消去する。以下SAVEと同じ。使い方に注意。 RENAME…ファイル名を変更する。RENAME "元のファイル名","変更後のファイル名"のように使う。 PROJECT…プロジェクトフォルダの変更。PROJECT "ディレクトリ名"でSAVEやLOADされるフォルダが変更される。元のDEFAULT プロジェクトに戻すにはPROJECT ""とする。
0そうだね
未プレイ
返信[3]
親投稿
はる HARUHI-0913
自分の好きな命令と関数です。 DIALOG…画数が多い漢字等もみやすく表示してくれるので漢字等の文字の確認に便利です。 CHR$()…キーボードから入力できない文字もこの関数で取得できます。
0そうだね
プレイ済み
返信[4]
親投稿
SAKURAmoti ouga409
定数で一つ。MAINCNT フレームで時間を計算するとき便利。
1そうだね
プレイ済み
返信[5]
親投稿
VAR()とMID$()です。 これは便利です。 ところで思ったんですけどPI()って#PIでいいんじゃ…。 前バージョンと互換性を保つためですかね。
0そうだね
未プレイ
返信[6]
親投稿
コントロールスティックを、倒した方向にスプライトが移動するプログラムを、教えてください!
0そうだね
プレイ済み
返信[7]
親投稿
まずスプライトの座標を入れる変数SX,SYを用意します。スプライトをSPSETして、適当な数を入れてます。…コード書いた方が早いですね。 ACLS VAR SX,SY,X,Y SPSET 0,0 SX=240:SY=120 WHILE 1 WAIT 1 SPOFS 0,SX,SY STICK OUT X,Y SX=SX+X:SY=SY-Y WEND
0そうだね
未プレイ
返信[8]
親投稿
うまくできません!
0そうだね
プレイ済み
返信[9]
親投稿
あ・・・できた・・・。
0そうだね
プレイ済み
返信[10]
親投稿
0そうだね
プレイ済み
返信[11]
親投稿
はる HARUHI-0913
SAKURAmotiさん それは定数ではなくシステム変数ですよ。 値が変わるので。 しょぼーんさん PI()って内部では定数扱いされているそうですよ。 なんで#PIという表記にしないんでしょうね。
0そうだね
プレイ済み
返信[12]
親投稿
はる HARUHI-0913
ショウ(*'ω'*)さん おめでとうございます。 そのプログラムの意味、分かりますか? プログラムの意味も分かってくると、 SPSETやSPOFS、STICK命令とかの意味も分かるようになって、 プチコンでプログラムを組むことが楽しくなりますよ。 分からなかったら、 こういちさんや自分等の他の方にきいてみて下さい。
1そうだね
プレイ済み
返信[13]
親投稿
んーと・・・・スプライト0(イチゴ)が、スティックを、倒した方にスプライトの座標が、変わるってことですよね?
0そうだね
プレイ済み
返信[14]
親投稿
もう少し、速くうごかすには、どうしたらいいですか?
0そうだね
プレイ済み
返信[15]
親投稿
そう言われると思っていました。 ヒント SX=SX+Xで、SXはX(スティックを倒した大きさ)づつ増えます。移動速度を1.5倍にしたい場合Xを… Yも同です。
1そうだね
未プレイ
返信[16]
親投稿
じゃあ・・SX=SX+X*1.5ですかね??
1そうだね
プレイ済み
返信[17]
親投稿
おお・・・いけた・・・・・
0そうだね
プレイ済み
返信[18]
親投稿
↑×10
0そうだね
プレイ済み
返信[19]
親投稿
これってスプライト以外のものでもできますか? 例 PRINTした、文字の座標を、動かすなど、
0そうだね
プレイ済み
返信[20]
親投稿
はる HARUHI-0913
自分のコメントのすぐ下のショウ(*'ω'*)さんへ まあ簡単に言うとそうですね。 デフォルトで定義されているスプライト0は、 イチゴのキャラクターになってるからそうなります。 簡単にプログラムにある命令の説明をしますね。
1そうだね
プレイ済み
返信[21]
親投稿
はる HARUHI-0913
VARで変数を宣言します。(この変数を利用しますよ〜というみたいなもん) 変数の宣言は、普通は必要ありませんが、配列等の宣言は必須です。 OPTION STRICT実行時にも必須になります。 SPSET命令で、スプライトを作ります。 第1引数の0はスプライトの管理番号(スプライトを呼び出す時に使う番号)、 第2引数の0はスプライトの定義番号(ここでは0なのでイチゴになります) を表しています。 WHILEはその後にある条件式が成立している時のみループするものです。 このプログラムの場合、WHILEの後には1があるので、 必ず条件式が成立し、無限ループになります。
0そうだね
プレイ済み
返信[22]
親投稿
お。完璧ですね。 *10のところを変数にすれば、プログラム中に速度を変化させたりも出来ますよ。
1そうだね
未プレイ
返信[23]
親投稿
はる HARUHI-0913
SPOFS命令でスプライトの位置を変更します。 第1引数の0はスプライトの管理番号(スプライトを呼び出す時に使う番号)、 第2引数のSXは、スプライトのX座標、 第3引数のSYは、スプライトのY座標、 を表しています。 STICK命令でコントロールスティックの場所を求めます。 例えば、STICK OUT X,Yというようにすると、 変数XにコントロールスティックのX座標、 変数YにコントロールスティックのY座標 の値が代入されます。 WENDはWHILEから始まったのループの後ろの部分です。
0そうだね
プレイ済み
返信[24]
親投稿
これってPRINTで、出した文字を、動かす事はできますか?
0そうだね
プレイ済み
返信[25]
親投稿
はる HARUHI-0913
最新のショウ(*'ω'*)さんのコメントへ ACLS VAR SX,SY,X,Y SX=25:SY=15 WHILE 1 WAIT 1 CLS LOCATE SX,SY PRINT"P" STICK OUT X,Y SX=SX+X:SY=SY-Y WEND でできると思います。
0そうだね
プレイ済み
返信[26]
親投稿
こう?
0そうだね
プレイ済み
返信[27]
親投稿
はる HARUHI-0913
7行目は、 LOCATE SX,SY ですよ。
0そうだね
プレイ済み
返信[28]
親投稿
どこか、間違ってませんか? 動かすとなんか、もどされるんですが・・・・
0そうだね
プレイ済み
返信[29]
親投稿
はる HARUHI-0913
すいません。 急いで作ったものなので間違っているかもしれません。 "もどされる"というのはどういう症状なんですか?
0そうだね
プレイ済み
返信[30]
親投稿
あ・・・・・解決しました。
0そうだね
プレイ済み
返信[31]
親投稿
枠からでると、こうなる・・・・
1そうだね
プレイ済み
返信[32]
親投稿
はる HARUHI-0913
あ、それは手抜きなのでしょうがないです。 すいません。 10行目と11行目の間に、 IF SX<0 THEN SX=0 IF SX>49 THEN SX=49 IF SY<0 THEN SY=0 IF SY>29 THEN SY=29 を追加してみて下さい。
0そうだね
プレイ済み
返信[33]
親投稿
個人的には、SX=MIN(49,MAX(SX+X,0))の方がスッキリしていて好きです。Yも同様。 あとWHILE~WENDの中は行の始めに空白を入れると見やすくてオススメです。
0そうだね
未プレイ
返信[34]
親投稿
できた☆
0そうだね
プレイ済み
返信[35]
親投稿
0そうだね
プレイ済み
返信[36]
親投稿
手元の3DSで実行していて気づいたこと、 PRINT "P"よりPRINT "P"; の方が良いかもしれません。 画面が自動的にスクロールされるので。
1そうだね
未プレイ
返信[37]
親投稿
プログラムがうまくなったらいつか、アクションゲームをつくれたらなーと思っています。
0そうだね
プレイ済み
返信[38]
親投稿
はる HARUHI-0913
こういちさんも仰っていますが、 WHILE~WEND等のループの中は行の始めに空白を入れると見やすくてオススメです。 これをインデントと言います。 この位の簡単なプログラムだったらインデント無しでもいいんですが、 ループが何重にも重なると見辛くなってややこしくなります。 アクションゲーム等長いプログラムでもインデントを使うのがオススメです。 後、アクションゲームを作るならここを参考にするといいと思います。 http://damedamepg3q.web.fc2.com/pet3Sta_sp1.html ここに書いてあるプログラムは全角なので、 半角に変換したものを入力して下さい。 全角を半角に変換するのはここがおすすめです。 http://so-zou.jp/web-app/text/fullwidth-halfwidth/
0そうだね
プレイ済み
返信[39]
親投稿
オリジナルで永久タイマー作りました!
1そうだね
プレイ済み
返信[40]
親投稿
はる HARUHI-0913
すごいですね。 どんなデザインで、 どんなプログラムなのかみせてくれませんか? 気になるので。
0そうだね
プレイ済み
返信[41]
親投稿
1~∞まで一秒ごとにカウントするものです。
0そうだね
プレイ済み
返信[42]
親投稿
0そうだね
プレイ済み
返信[43]
親投稿
はる HARUHI-0913
シンプルですね。 さっきも言いましたが、 WHILE~WEND等のループの中は行の始めに空白を入れると見やすくてオススメです。
1そうだね
プレイ済み
返信[44]
親投稿
マリオみたいに下方向に重力が、かかるにはどうすれば、いいですか?
0そうだね
プレイ済み
返信[45]
親投稿
↑スプライトでの
0そうだね
プレイ済み
返信[46]
親投稿
説明が長くなりそうなので、詳しくはだにえるさん(NNID:haru2016nen)のお絵描き投稿「だにえる式JUMP」を見ると良いかもしれません。
2そうだね
未プレイ
返信[47]
親投稿
↑ありがとうございます。
0そうだね
プレイ済み