コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
雪に ◆tvyPKQEVgFOr
2021/11/27 22:25
質問
anim命令のXY座標移動のやり方がわかりません
あと、
      この↓?のことをなんといいますか?
spanim 0,"XY"、?,?,?,?,0

コメント

アバター
あきと 2021/11/28 0:03 ◆qGd5dQw2g3a2
SPANIM スプライトNO, "XY", {フレーム数, 移動終了時に到達するX,移動終了時に到達するY}, 繰り返し回数

フレーム数にマイナスを付けると滑らかに移動します。
{}は繰り返し書くことができます。

例えば
SPANIM 0,"XY", -60,300,200,1
と書くとスプライト0が60フレーム(1秒)かけて300,200の場所に移動して止まります。

SPANIM 0,"XY", -120,300,100, -90,100,100, 0
と書くとスプライト0が、2
秒かけて300,200に移動したあと1.5秒かけて100,100に移動したあと2つの座標に繰り返し移動し続けます。

--------
?←クエスチョンマーク
!←エクスクラメーションマーク
アバター
雪に 2021/11/28 8:06 ◆tvyPKQEVgFOr
入力のやり方は分かりました!
やってみて、ループの中に書くと動きがおかしくなりますのはどうしてですか?
それと、カーブ移動は変数を使いますか?
--------
クエスチョンマークではなく、カンマの間の、数字のことです。
アバター
あきと 2021/11/28 11:17 ◆qGd5dQw2g3a2
SPANIMは一度呼び出すと、指定の時間までその動きをし続けます。(指定の仕方によってはずっと動き続けます)
なのでループの中で呼び続ける必要はありません。
逆に動いている途中でもう一度SPANIMを呼んでしまうと上書きされてSPANIMがやり直しになってしまいます。
今SPANIMで動いている最中かチェックする命令があるので
IF SPCHK(0)&#CHKXY THEN 〜
SPANIMを呼び出せるか監視するといいかも。

SPANIMでカーブ移動はできないので自分で計算してSPOFSで直接移動させないといけないですね。そういう意味では変数は必要です。

---
「引数」かな。
アバター
雪に 2021/11/28 13:34 ◆tvyPKQEVgFOr
なるほど。
ありがとうございました!
アバター
あきと 2021/11/28 14:29 ◆qGd5dQw2g3a2
SPANIMしてるかチェックする命令の行間違ってました。SPCHKです。(元の文章も修正しました)
アバター
あまさとしおん 2021/11/28 17:54 ◆mzDKTVUAtwqE
質問の答えではない話なんだけど
SPANIMみたいに「今実行してる他の命令に関係なく勝手に何かしてくれるやつ」って「非同期処理」の一種なんだろうか。
プチコンで非同期処理をする命令、○○ANIM以外にない気がする。
だからなんか他の命令より難しいように感じるのかもしれない。

(と思ったけど、BGMの再生とかも裏で勝手に続いてるから非同期かな)
アバター
ツララ 2021/11/29 12:22 ◆ArUdBYOYME1V
プログラムに限らず書物には書き方っていうか「書式(しょしき)」っていうものがあって
その書式の中で、色々変えちゃってもいい部分を*で表したりもしますね。
(ワイルドカードというかトランプで言うジョーカーみたいなもん)

私もよく”◯ンコ”とか「◯」で歯抜けワード使いますけど
◯に入れる文字は「ア」でも「ワ」でも、読む人が何でも好きな文字当てハメて欲しいなと…
(おっと脱線、ハメ外しすぎましたすいません)

あと引数ってことで言えばSPNIMのすぐ後の 0 や ”XY” も引数ですな。
DEF命令っていう、関数や命令自体をユーザーが作れる命令もあるんですけど
命令名と引数の関係に興味があるならお試しあれ。

SPANIMでカーブというか曲線的な移動させたいなら
SPHOMEやSPROTを組み合わせて併用するか
存在するけど表示はしないダミー用のスプライトを用意して、SPLINKとSPANIMの"R"を組み合わせたりとか
やりようは色々あるはず。
(妙に聞き分け良いのはいいですけど諦めの悪さもちょっと見たかった)

>あまさとさん
非同期というか「実行中はメインループのVSYNCの影響を無視する処理」ですかね。
SPFUNCもそのループ処理中に書いてるVSYNCとかは、メインループのとは別だったりしません?
アバター
agree810 2021/11/29 14:38 ◆BDuG8hoYvRQ2
プチコンにコルチーンがあれば裏で読み込んで表でメインプログラムの実行とかできるから読み込みで止まったり(カクついたり)しないし、最初に一気に読み込むと最初の読み込みが長くなるけどそのストレスも解消できるしで便利なんだけどなぁ…
アバター
あきと 2021/11/29 23:22 ◆qGd5dQw2g3a2
「コルチーン」←チャハーン的ですね。

○○ANIMはSMILE BASICの実行の枠の中では確かに非同期的ですね。あと通信も絶対に同期するはずのない別の本体とのデータのやりとりという意味で非同期的かなと思いました。

SPFUNCはCALL SPRITEで一斉に実行されるのでVSYNCの近くに置いてあるはずなので同期処理かなと。
アバター
Na 2021/11/30 0:01 ◆QoELVrBXBQCI
ちょっと違う話ですが、非同期といえば3号ではBGMSETがSPANIMやBGANIMに割り込むようです(アニメーションが一時停止する)。どんな処理になってるのか少し気になる

具体的にはリズミカルおもちつきKRMAXやNewSPでRwiiugさん作曲のBGM143〜146にカーソルを合わせたとき背景のスクロールが止まることでわかります。

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -