操作の記録とタッチ操作を組み合わせて、セミオートで使えるハート送信プログラムを作ります。
FRepでは、操作の記録(Rec)で作成した記録に少しでも手を加えたものはプログラムとしている様です。また、操作の記録(Rec)以外でも、条件・制御の設定から追加した項目で作成したものはプログラムです。
スクロール作成
最初にタッチ操作によるスワイプで、ランキングを1画面分スクロールするプログラムを作りましょう。
セミオートではピッタリ1画面分スクロールすることがとても重要です。
操作の記録(Rec)で作成しても良いのですが、慣れないとかなり大変なのでタッチ操作での作成の方が簡単だと思います。
先にタッチ情報の取得(FRep導入【初期設定】)をしておきましょう。タッチ情報の取得での操作が正確に速くできると実際のスワイプも正確でズレの少ないものになります。
プログラム作成
【記録の管理】をタップします。
メインタブで【プログラム作成】をタップします。
【新規作成】をタップします。
出来たプログラムに名前を付けておきましょう。
四角い【新規作成】をタップします。
ついでにアプリを指定しておきます。
初期は【常に表示】ですが、【アプリ内】にして、ツムツムアプリを指定しておくと、ツムツム以外のアプリでFRepパネルが表示されないので便利です。
※ツムツムアプリでの操作の記録があると表示が出てきます。
ラベル名を設定して、【適用】をタップします。
ラベルが設定できました。
尚、FRepはオートセーブとなっていますので、このまま端末の戻るボタンで記録の管理メニューに戻ればプログラムは端末に保存されています。手動で保存したい時には保存マークを、保存せずに元に戻したい場合は取り消しundoマークをタップします。
但し、この保存はバックアップとしての利用は難しいです。バックアップが欲しい場合はこちらをご覧ください。
タッチ操作-スワイプ
操作前にツムツムのランキングのスクリーンショットを撮っておきます。
【条件・制御の設定】ボタンをタップします。
【タッチ操作】をタップします。
【画像ファイルから】をタップして、撮っておいたランキングのスクリーンショットを選択します。
【適用】をタップします。
【タップ】をタップして展開し、【スワイプ】をタップして選択します。
まず、緑丸以外の場所をドラッグして、ランキングが4人分見える位置まで移動しましょう。
緑丸が開始位置、青丸が終了位置です。指で[画像]の位置になる様にドラッグして下さい。
緑丸は、左上のPointの+-ボタンをタップすることで座標による指定も出来ます。
あと少し下にしたい場合などに+-ボタンを使ってみて下さい。
ぴったり4人分の位置で指定できたら、緑丸青丸以外の部分に2本の指を上下に置きドラッグして、開始位置を少し下にずらします。先程のままだと開始位置がランキングの白いバーに掛かっている為、スワイプ出来ないからです。[画像]程度に出来たら【適用】をタップします。
尚、画像を見て指定出来るのは最初の設定のみです。
タッチ操作が追加できました。
プログラムのラベル又は内容をタップすると、メニューが表示されます。
1.待機を【この項目を削除】で削除しておきます。
2.タッチ操作の設定を開きます。
開始位置(緑丸)と終了位置(青丸)の座標が表示されています。
修正の場合は画像を見て指定出来ないので、この座標を増減して位置を修正します。
尚、座標は端末の解像度によって違います。
【間隔】は操作前の待機なので、0秒にしておきます。
ラベルをタッチ操作→スワイプに変更しておきました。
スワイプのプログラムが出来ました!
動作確認と修正
出来たスワイプのプログラムをツムツムのランキング画面で実行してみましょう。
今の自分のランキングの一番下にセットして、【セミオート送信】プログラムを実行します。長さがよさそうだったら、1位まで緑三角ボタンを何度かタップしてスクロールさせてみます。
ずれがあるならスワイプの制御設定を開き、最後の座標(上の画像で1389のところ)を修正します。なるべくずれがなくなる様に修正してみて下さい。
短くしたい時→数字を1少なくする。
100人位ならこれでズレなく送信できると思いますが、それ以上になるとズレ補正をしないと厳しいでしょう。
ズレ補正はいろいろな方法がありますが、それよりもハート画像認識プログラムにしてズレ補正せずに3.9人スワイプを採用する方がずっと簡単で確実です。
一応、一番簡単なズレ補正の方法をこちらにご紹介しておきます。
ハート送信の操作を記録する
4人分のハート送信の操作を記録(Rec)します。操作はゆっくりしっかりタップしましょう。
(2)OKタップ
(3)プレイタップ
(4)今日のミッションタップ
3人目→2人目→1人目も同じ様に(1)~(4)をタップする
自分でタップするよりも余計な動作がありますよね。
これは、自分をタップした時と、ハートがタップ出来ずにハイスコア画面が出てしまった時を想定した動作です。「ハートを送りました!」のポップアップは画面のどこをタップしても消えますので、この様な動作になっています。
動画を見て頂くとわかりやすいと思いますので、この記事の最後の動画をご覧ください。
尚、4人目から送信していることと、下から上に向かってスクロールしている理由は、ハートが回復する時間を考慮してのものです。また、画像認識を使っていない場合には、招待欄を誤タップしない為でもあります。
プログラムを組み合わせる
スクロールプログラムとハート送信の記録が出来たら、プログラムを合体しましょう。
スクロールで作成した「セミオート送信」をプログラム編集します。
【記録の管理】から【セミオート送信】のラベルまたは項目辺りをタップしてメニューを開き、【プログラム編集】をタップします。
【条件・制御の設定】ボタンをタップします。
【記録を追加】をタップします。
目当ての記録が表示されない場合は、左上の黒っぽい四角をタップすると項目が開きます。項目タップで条件に合ったものが表示される様になります。
ハート送信の記録を指定するとコピーで追加されます。ここで追加したら元の記録は不要ですから、削除しても構いません。
制御設定にて待機1秒を入れておきましょう。スワイプの後にすぐにハートタップするとうまく動かない場合がある為です。
※操作の記録での設定で【開始待ちを再現】した場合は待機不要です。
スワイプ又はハート送信をドラッグして順番を入れ替えます。
プログラムは1番から順番に実行されますので、ハート送信→スワイプの順に実行される様になりました。
ラベル隣の緑三角をタップして、【再生・繰り返し設定】を開きます。
再生回数に(ランキング人数÷4)+予備の回数をセットします。
予備を入れるのは自分のランキング人数の増減(連動解除やグループの加入等)、そしてプログラム実行中の通信トラブルでうまくスクロールできなかった場合も考慮します。
40人ならば10回+予備2回=12回位、100人ならば25回+予備5回=30回位だと思いますが、ご自分で実行してみて回数を調整してください。
これでセミオートのハート送信プログラムが完成しました!
ズレ補正
どうしてもスワイプがずれてしまう場合の簡単な補正方法をご紹介します。
少しだけスクロールが長くなってしまう場合に、数回に1度短めのスクロールを挟む方法になります。
【条件・制御の設定】からループを追加します。
この画像の場合は3回長め(スワイプ1383まで)を繰り返した後に1回短め(スワイプ1382まで)を実行します。
スワイプの長さやループ回数はズレの程度によって調整してください。
この画像プログラムの場合は合計4回のハート送信とスワイプが出来るので、4人分×4回=16人分のハート送信が出来る計算になります。再生回数8回の場合はランキング人数128人に送信が出来る計算です。
プログラム実行
ハートが回復していることを確認したら、セミオート送信プログラムを実行してみましょう。
まず手動でランキングの1番下までスクロールしてから、招待欄を避けて4人のハートが見える様にセットしてください。点数ゼロの人にハートを送りたくない場合はその人まで避けて、その上からセットします。
準備が出来たら、FRepパネル【セミオート送信】の緑三角をタップしてプログラムを実行します。
※音量にご注意ください
ゆっくりタップしていることと余分なタップもあるので、かなり時間は掛かりますが、自分を飛ばしてランキング1位まで自動送信出来ると思います。ハイスコア画面が出てしまった場合もクリアできていますね。
但し、このプログラムではスワイプずれが出た場合や、通信トラブルにより通信待ち時間(=いわゆるミキピョン=ミッキーの画像がピョンピョン跳ねている)が出た場合などは失敗することもあると思います。ですからセミオート送信の後にはハートが送信できているかどうか、しっかり確認した方がいいですね。
フルオート送信にしたい場合は操作の記録ではなく、スワイプずれとエラーに対応できているプログラムを使いましょう!その第一歩が画像認識です。
画像認識が出来たら、こちらをどうぞ。
コメント
同じようにやっているのですが何度やってもスワイプしません。
何がおかしいのでしょうか?
タッチ情報の取得は済んでいますか?
FRep導入【初期設定】 https://autofrep.net/frep_config/
メインのアンドロイドでセミオートにしたいのですがFREPを入れても大丈夫なもでしょうか?
何について「大丈夫」なのか、よくわかりませんが…
端末への負担は送信数が多い程若干あります。
FRep導入のリスクについてはこちらをご覧下さい。
https://autofrep.net/risk/
Android (HUAWEI P30 lite)にFRepをインストールし、
デバッグモードにしてUSB接続し、MacでServerを立ち上げて
セミオートプログラムを実行してみました。
それ自体はちゃんと動作したのですが、USBを抜いてしまうと
Error on FRep
というメッセージが出てセミオートプログラムが実行できません。
初回設定のみUSB接続で、(Androidを再起動しない限り)
USBでServerと接続しなくても実行できるものと思っていたのですが
違うのでしょうか?
Frepは常にPCやスマートフォンなどServer(ホスト)になるものが
いないとダメなのでしょうか?
「初回設定のみUSB接続で、(Androidを再起動しない限り)USBでServerと接続しなくても実行できる」で合っています。
FRep導入【セットアップ】に軽くふれてありますが、
https://autofrep.net/frep_setup_win/
Android8以降の端末では、ケーブルを外しても設定ツールを維持しておく設定が必要なものがあります。
公式FRepサポートの トラブルシューティング のページ中程にあるFAQに、端末の機種毎の設定方法が載っていますので、確認してみて下さい。
http://strai.x0.com/frep-ja/faq#operation
かのんさん こんにちは。
分かりやすい解説、説明有難うございます♡
今、Frepの設定が終わり可能な限りのツムツムのスクショを撮り…
かのんさんの丁寧な解説通りに設定を進めましたがハートの送信は ほぼバッチリいけたのですが 上にスワイプが作動しません💦
何が足りないのか何度もトライしたのですが( ;꒳; )
何か見落としがあるのかもしれないですね。こちらでは何が原因かわかりませんので、もう一度記事の最初から確認してみて下さい。
例えば
■タッチ情報の取得は済んでいますか?
■スワイプの開始位置はずらしてありますか?
タッチする場所を指定 の際に始点と終点を合わせた後に下に動かしたいのですが、スクリーンショットと緑点青点すべてが同時に動いてしまってずらせないんですけど、どうしたらいいでしょうか。
緑丸青丸以外の部分に「2本の指を上下に置いて」ドラッグしてみて下さい。
※本文もその様に修正しておきました!
わかりやすい説明ありがとうございます。スワイプを設定しましたが、実施する度に移動する量が違います。長かったり、短かったり…。何か原因わかりますでしょうか?( T_T)初期設定は全てしました。
返信遅くなりすみませんでした。
タッチ操作によるスワイプで動作が安定しない場合は【タッチ情報の取得】が上手くいっていない(速すぎる、真直ぐではない等)可能性があります。
タッチ情報の取得での操作が正確に速くできると実際のスワイプも正確でズレの少ないものになります。
もう一度【タッチ情報の取得】をやり直してみて下さい。
FRep導入【初期設定】 https://autofrep.net/frep_config/