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

アバター
MIKE猫Soft ◆M1HxkK9fMI2A
2019/3/13 17:18
質問
タッチ命令を使ったとあるプログラムの修正願い
ここに、プログラムを書きます。
WHILE 1
TOUCH OUT TT,TX,TY
'Yボタンで元のスプライト位置に戻らぬ!
'具体的な症状は、Yボタンで元の位置に戻るはずが、押して離すと、前回タッチしていた位置に戻る。
IF BUTTON()==#Y THEN TY=0
ENDIF
SPOFS 0,0,TY
ここの工夫の仕方がいまいちです。
教えてください。

コメント

アバター
こういち 2019/3/13 18:28 ◆ou0jbJnEJ0Kb
Yボタンが押されてタッチパネルがタッチされるまでスプライトを元の位置に戻したいんですよね?

ならば変数FLGを用意して、
IF TT>0 THEN FLG=TRUE 'タッチされたらフラグ立てる

IF(BUTTON() AND #Y)==#Y THEN FLG=FALSE
'Yボタンが押されたらタッチされるまでフラグ降ろす

IF FLG==TRUE THEN
 SPOFS 0,0,TY
ELSE
 SPOFS 0,0,0
ENDIF

みたいにすれば行けると思います。
アバター
あきと 2019/3/13 18:42 ◆qGd5dQw2g3a2
タッチし始めた瞬間(TT==1)のときにスプライトの現在位置を保存して
SPOFS 0 OUT SX,SY
Yボタンが押されたらSX,SYに座標を戻せばいいのではないでしょうか。
アバター
tera(ll) 2019/3/13 19:12 ◆sdJCvgiTCjVX
>押して離すと、前回タッチしていた位置に戻る。

TOUCHで得られる座標についてはリセットできず、書き込みもできない為
工夫での回避はできないので、SP座標用に別変数用意して
タッチされてる時だけ座標を取得するしか無いのでは?
アバター
キルル2 2019/7/27 9:25 ◆rGE712Ruejv7
WHILE 1
TOUCH TT,TX,TY
IF TT THEN Y=TY
IF BUTTON()==#Y THEN Y=0
SPOFS 0,0,Y

コメントを書く

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

- WEB PATIO -