操作ガイド

1. 概括
2. 使い方
3. スクリプト

1. 概括

AutoTouchはモバイルデバイスでの様々なタッチとクリック操作を記録し、再生することができる。また、事前にLuaスクリプト言語で作ったスクリプトを実行し、人間のタッチ操作をシミュレートすることによって、より多くの予想外の機能を実現することもできる。例えば、自動的にゲームをやり始め、猛獣を倒してお金を稼ぐ、大量の写真を一緒に編纂する、プログラムの自動化テストへ入る或いは自動的にメールアドレスにログインするなど。

現在、AutoTouchはすでに多くの人々の操作を記録して再生する能力を持っている。例えば、タッチ、実体のホームボタンや音量ボタンや声のスイッチボタンやロックボタンをクリックするなど。しかも、正確かつスムーズにできる。また、キャプチャー、一部の画面のキャプチャー、カラールックアップ、カラーマッチング、画像マッチングなどの拡張関数を提供し、更に大きな発掘可能の潜在能力を備えている。これらの特異な能力を組み合わせると、あなたを束縛できるのは想像力だけになる。

2. 使い方

2.1. どのようにインストールするか?

  1. CydiaにBigBossのソースを添加したことを確かめる;
  2. Cydiaの中でAutoTouchを探し出してインストールする;
  3. 今までにActivatorをインストールしたことがない場合、AutoTouchをインストールすると同時に、自動的にこのジェスチャーコントロール用のプラグインをインストールする。それをアンインストールしないことを進める。さもなければ、AutoTouchも一緒にアンインストールされる。

2.2. どのように録画するか?

  1. 録画を開始したいインタフェースで、音量ダウンボタン(あるいは設定した他のActivatorコントロール動作)を長押しして、コントロールパネルをポップアップする。コントロールパネルに録画ボタンとスクリプトリストがある;
  2. コントロールパネルの上の「収録」ボタンをクリックすると、震動で録画の開始を提示する;
  3. 次はやりたいタッチや他の操作をしてください、例えば猛獣倒しなど;
  4. 録画を止めたい時、「録画終了」のヒントボックスがポップアップまで音量ダウンボタン(或いは前述の他のコントロール動作)を長押しして、震動で録画の終了を提示する;
  5. 次は、AutoTouchでさっき収録したスクリプトをチェックして、管理や放送できる。スクリプトはデフォルトで作成時間を名称とする、よりわかりやすい名前になるように修正することもできる。

2.3. どのように再生するか?

  1. 再生したいインターフェースで、音量ダウンボタン(あるいは設定した他のActivatorコントロール動作)を長押しして、コントロールパネルをポップアップする;
  2. コントロールパネルで再生したいスクリプトをクリックする;
  3. 次は、再生回数、間隔と速度を聞く再生設置のダイアログボックスが出てくるのは普通である。(スクリプトを直接に再生すると設置したことがある場合を除く);
  4. 「ただちに実行」をクリックすると、さきほどの設置によってすぐに再生を行い、震動で開始を提示する。再生終了後、自動的に停止し、終了のダイアログをポップアップする(設置でダイアログの提示を閉じることができる)。音量ボタンを長押しして(或いは前述の動作)再生を中断することもできる;
  5. もし、「後に実行」をクリックする場合、準備するという状態に入る。この状態では、音量ダウンボタンをクリック(長押しではない、修正できない)することによって、繰り返しに起動したり再生を中断したりことができる。しかも問い合わせダイアログボックスが出てこなくなり、再びあなたを中断していない。再び、長押し(或いは前述の動作)して、準備するという状態を閉じる;
  6. あなたは、「再生設置」のインターフェースでスクリプトを直接に再生すると設置し、デフォルトの再生設置を設置する。こうしてこのスクリプトを選ぶと、直接に設置のままに再生し、再生設置の問い合わせダイアログボックスがで二度と出てこない。

2.4. スクリプトをどのように書くか?

  1. ツールバー中間の「アクション」ボタンを押して、「新規ファイル」を选択すれば、新しいスクリプトウィンドウが開ける;
  2. スクリプトの編集インタフェースでコードを書く;
  3. 「保存」ボタンをクリックして名称を入力保存する。

2.5. どのようにスクリプトを暗号化するか?

  1. AutoTouchでスクリプトをクリックして、「暗号化」を選ぶ;
  2. 暗号化パスワードを入力し、パスワードの間に空白のままでいい;
  3. 「確定」をクリックして暗号化を完了する。同時に同名だが、 lua.eで終わる暗号化ファイルが生成する;
  4. 暗号化したスクリプトを選択し、再生できる。パスワードがない場合、ヒントによってパスワードを入力すればいい。

2.6. お使いのコンピュータからどのようにスクリプトをアップロードするか?

  1. WIFIが利用できることとパソコンと同じLAN内にあることを確認して、ツールバー中間の「Action」ボタンをクリックして、「アップロード」を選択し、アップロードのインターフェースを開く。起動成功の場合、インターフェースに接続のアドレスが表示される;
  2. 出てきた接続のアドレスをパソコンのブラウザで開くと、出てくるインターフェースでアップロードできる。

2.7. どのように権限を購入するか?

  1. 「設定」インターフェースの「授権」ボタンをクリックして、授権情報インタフェースを開く;
  2. 授権情報インタフェースを開くと、授権の検証を行う;
  3. 授権の検証が失敗する場合、支払いボタンが出てくる;
  4. 支払いボタンをクリックして、ブラウザウィンドウへ移り、支払いページが開く。alipayのユーザーは是非支払いページの「支払い説明」に設備のシリアル番号に貼り付けてください;
  5. 支払いが完了後、「設定」のインターフェースで「授権」をクリックして検証する;
  6. 授権が検証される後、無限の再生時間と全部の機能が獲得できる。

2.8. ショップからどのようにスクリプトをダウンロードし、購入するか?

  1. 直接ショップからすべてのスクリプトをダウンロードすることができる;
  2. 暗号化したスクリプトもあるので、、作者と連絡してパスワードを購入する必要がある;
  3. スクリプトがダウンロードされる後、スクリプトリストに保管する。他のスクリプトのように直接に使用することができる。

2.9. どのようにスクリプトをショップ内に発表するか?

  1. 共有や販売するために、ショップにスクリプトを公開することができる;
  2. ただスクリプトを分かち合いたい場合、直接に. luaファイルをアップロードすればいい。他人に内容を見られたくないなら、パスワードなしの暗号化ができる;
  3. ショップでスクリプトを売り出したい場合、スクリプト暗号化し、パスワードを設定することができる。このようにして、スクリプトを必要としている人はあなたと連絡してパスワードを購入する。

3. スクリプト

3.1. 基礎

Lua Official Reference Manual でLua言語の使用を勉強することができる.


3.2. 拡張関数

拡張関数はLua言語の広がりに使うものである。アナログ人間が携帯電話を操作すると同じいくつかの機能を備えさせる。また、キャプチャー、一部の画面のキャプチャー、カラールックアップ、カラーマッチング、画像マッチングなどの機能も提供する。


3.2.1. touchDown(id, x, y)

在スクリーンの(x, y)座標を押す。

touchDown(0, 100, 200); -- 座標(100, 200)のところで押す。

3.2.2. touchMove(id, x, y)

指を(x, y)座標に移動する。

touchDown(0, 100, 200); -- 座標(100, 200)のところで押す。
touchMove(0, 200, 200); -- 指を座標(200, 200)に移動する。

3.2.3. touchUp(id, x, y)

(x, y)座標から押した指を挙げる。

touchDown(0, 100, 200); -- 座標(100, 200)のところで押す.
touchMove(0, 200, 200); -- 指を座標(200, 200)に移動する.
touchUp(0, 200, 200); -- 座標(200, 200)のところで押した指を挙げる.

3.2.4. tap(x, y)

座標点(x、y)をクリックする.

tap(100, 200); -- 座標(100, 200)をクリックする.

3.2.5. homeButtonDown()

実体のホームボタンを押す。

homeButtonDown();
-- ホームボタンを押す.

3.2.6. homeButtonUp()

抬押したホームボタンを放す.

homeButtonUp();
-- 押したホームボタンを放す.

3.2.7. rootDir()

スクリプト保存のデフォルトアドレスを得る.

local dirPath = rootDir();
-- dirPath = "/var/mobile/Library/AutoTouch/Scripts/"

3.2.8. usleep(microseconds)

何マイクロ秒を中止する、つまり1/1000000秒.

usleep(1000000);
-- 1秒中止する

3.2.9. log(logContent)

日誌を記録する、日誌のインターフェース見ることができる。

log("play here...");

3.2.10. alert(message)

ダイアログボックスをポップアップし、指定内容を示す.

alert("Hello world!");

3.2.11. vibrate()

一回振動する.

vibrate(); -- 一回振動する.

3.2.12. screenshot(filePath)

目下のキャプチャーを獲得し、指定のアドレスに保存する.

screenshot("/var/screenshot1.png"); 

3.2.13. screenshotRegion(filePath, x, y, width, height)

指定区域のキャプチャーを取得し、指定のアドレスに保存する.

screenshotRegion("/var/screenshot2.png", 0, 0, 100, 100);
-- (0 0、100、100)地域をキャプチャーして、指定アドレスに保存する.

3.2.14. getScreenResolution()

画面解像度を得る.

local w, h = getScreenResolution();
-- 解像度の幅は1136、高さは640である.

3.2.15. getScreenSize()

画面の大きさを取得する。ここはアップル座標係の大きさを指している。画面解像度割る2はRetinaディスプレイとなる.

local width, height = getScreenSize();
-- iPhone 5:幅は320、高さは568である

3.2.16. getColor(x, y)

現在のスクリーンで指定した座標の色情報を得る.

local rgb = getColor(100, 200);
alert("rgb:" .. rgb);
-- rgb:16777215

3.2.17. findColor(rgb, count)

現在のスクリーですべての指定した色とマッチングする座標点を取得する。.注意すべきのは、このようにfind(rgb=0x0000ff、カウント=5)を使うではなく、find(0x0000ff、5)を使うべきである。findImageのパラメータは全体としてtableであるため、findImage関数と違っている.

local result = findColor(0x0000ff, 2);
for i, v in pairs(result) do
    log("x:" .. v[1] .. "y:" .. v[2]);
end

3.2.18. findColorTap(rgb, count)

この関数はfindColorとほぼ同じ、違いはfindColorTapがそれらの点を見つけて順番に0.016秒の間隔を置いてクリックし、それに何の値も戻らない.

findColorTap(0x0000ff, 2); -- 色が0x0000ffである最初の二つの座標点を見つけて順番に0.016秒の間隔を置いてクリックする.

3.2.19. findImage {imagePath, count, fuzzy, ignoreColors}

現在のスクリーンで指定した図面とマッチングする区域を検索し、tableの形式で、見つけたすべての地域の左上座標に戻る.

-- 例 1:
local result = findImage {imagePath="/var/spirit.png", count=5};
for i, v in pairs(result) do
    log("x:" .. v[1] .. "y:" .. v[2]);
end
 
-- 例 2:
local result = findImage {imagePath="/var/spirit.png", fuzzy=0.6};
for i, v in pairs(result) do
    log("x:" .. v[1] .. "y:" .. v[2]);
end
        
-- 例 3:
local result = findImage {imagePath="/var/spirit.png", ignoreColors={0xffffff, 0x2b2b2b}};
for i, v in pairs(result) do
    log("x:" .. v[1] .. "y:" .. v[2]);
end
          
-- 例 4:
local result = findImage {imagePath="/var/spirit.png", count=1, fuzzy=0.9, ignoreColors={0x0000ff}};
for i, v in pairs(result) do
    log("x:" .. v[1] .. "y:" .. v[2]);
end

3.2.20. findImageTap {imagePath, count, fuzzy, ignoreColors}

関数ととほぼ同じで、違いはあれらの区域をそして順次0.016秒間隔をクリックし、任意の値に戻る。この関数はfindImageとほぼ同じ、違いはfindImageTapがそれらの区域を見つけて順番に0.016秒の間隔を置いてクリックし、それに何の値も戻らない.

-- 例 1:
findImageTap {imagePath="/var/spirit.png", count=5};

-- 例 2:
findImageTap {imagePath="/var/spirit.png", fuzzy=0.6};

-- 例 3:
findImageTap {imagePath="/var/spirit.png", ignoreColors={0xffffff, 0x2b2b2b}};

-- 例 4:
findImageTap {imagePath="/var/spirit.png", count=1, fuzzy=0.9, ignoreColors={0x0000ff}};
      

3.2.21. appRun(appIdentifier)

appIdentifierで指定するアプリを起動する.

appRun("com.apple.mobilesafari");
-- Safariを実行する
      

3.2.22. appKill(appIdentifier)

appIdentifierで指定するアプリを終了する.

appKill("com.apple.mobilesafari");
-- 実行しているSafariを終了する
      

3.2.23. appIsActive(appIdentifier)

検査指定するアプリは活躍している或いは開いた状態にあるかどうかを検査する.

b = appIsActive("com.apple.mobilesafari");
-- アプリの開く状態を検査する