GameMaker 日本語掲示板

GMS2 mobileについて

3 コメント
views
17 フォロー

開いて下さりありがとうございます。
mobile用のライセンスを購入したのですが「タップした場合」や「スワイプした場合」などのプログラムの書き方がわからず困っています。ご回答よろしくお願いします。

mega
作成: 2020/12/27 (日) 18:09:11
通報 ...
1
yakata 2020/12/28 (月) 00:23:50

ipadなどのタッチできるデバイスに出力したプログラムでは、マウスのクリックとタップが同じ扱いのようです。
なので mouse_check_button() の関数を使うと、「タップした場合」の挙動が書けました。

また device_mouse_x_to_gui() というマウスの座標を取得する関数を活用すると、
mouse_check_button() や mouse_check_button_released() と組み合わせて、マウスの座標が大きく移動した時を判定することでスワイプを実装できました。

mobileはまだテストで触れただけなの詳しくは分かりませんがで参考になれば幸いです。

2

(mobile向けに作ったこと無いので確かなことは分かりません)

yakataさんのようにオブジェクトのstepイベントに処理を書くやり方の他に、
オブジェクトにジェスチャーイベントを追加してそこに処理を書く形もあるようです。
event_dataからタップ位置やドラッグ開始位置、終了位置などを取得して利用できます。



マニュアルではここらが参考になるでしょうか。

ver 2.2.x
https://docs2.yoyogames.com/index.html?page=source/_build/2_interface/1_editors/events/gesture_events.html

https://docs2.yoyogames.com/index.html?page=source/_build/2_interface/1_editors/events/gesture_events.html

ver 2.3.x
https://manual.yoyogames.com/#t=GameMaker_Language/GML_Reference/Game_Input/Gesture_Input/Gesture_Input.htm&rhsearch=gesture event&rhhlterm=gesture event

https://manual.yoyogames.com/#t=The_Asset_Editors/Object_Properties/Gesture_Events.htm&rhsearch=gesture event

3

お二方ご親切にありがとうございました。マウスのクリックと同じ関数を使うのは想像できませんでした。参考にさせていただきます!