Luaスクリプト iPhoneの脱獄アプリ【操作自動化のAutoTouch】について

Luaスクリプト iPhoneの脱獄アプリ【操作自動化のAutoTouch】について AutoTouchアプリでfindImage関数を使って目的の画像が検出されるまでループして 画像を検出すると画面をタップして処理を終了する動作をしたいんですがどれもうまくいきません。 作成例1 while true do local result = 0,findImage {imagePath="/var/mobile/Library/AutoTouch/Scripts/test.png", count=1}; for i,v in pairs(result) do touchDown(0, v[1], v[2]); usleep(20000.00); touchUp(0, v[1], v[2]); end if v[1]>0 then break end end while文で無限ループを作り、画像検出するとv[1]になにかしらの座標の値が入ると思うので、 if break文でループから脱出しようと思いましたが画面をタップしないままスクリプトが終わってしまいました。 作成例2 repeat local result = 0,findImage {imagePath="/var/mobile/Library/AutoTouch/Scripts/ok.png", count=1}; for i,v in pairs(result) do touchDown(0, v[1], v[2]); usleep(20000.00); touchUp(0, v[1], v[2]); until v[1]>0; end repeat文で脱出しようと思いましたが、作成例1同様になにもしないまま終わってしまいました。 findimegeとloggingだけのスクリプトで座標の取得はできている事から、画像の認識はできてると思います。 間違っている箇所などありましたらご指摘と修正内容を教えて頂けないでしょうか? 宜しくお願い致します。

プログラミング9,989閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12121134477 前の質問の人と同一人物?文体が似てるけど 変更点1: findImageの前の 0, を削除 作成例1   local result = findImage {imagePath="/var/mobile/Library/AutoTouch/Scripts/test.png", count=1}; 作成例2   local result = findImage {imagePath="/var/mobile/Library/AutoTouch/Scripts/ok.png", count=1}; 変数 j を使わないなら、findImageの前の 0, は不要です。てか、あるとresultが必ず 0になってしまいます。 変更点2:最後の2行を正常化 作成例1   if #result>0 then break end end 作成例2   end until #result>0 多分、現状どちらもエラーで終了してるかと。 作成例1は 変数vはfor~endの内部でしか使えません。 forの外で参照すると恐らくvが未定義==nil になり、nil[1]は参照不能扱いされるかと。 作成例2は repeat   ~   for ~ do     ~   until ~; end こんな形になっちゃってますが、コレは for~endとrepeat~untilが正しくネスト されていないのでアウトです。 正しく対応させた上で、resultが空テー ブルでは無いか確認すべきかと。

ThanksImg質問者からのお礼コメント

うまく動作することができました! 大変わかりやすい回答ありがとうございました 前の質問は参考にしましたが、同一人物ではないです>< luaの勉強もかねて別のアプローチでやってみようと思ったのですが中々うまくいかなかった感じです^^;

お礼日時:2014/3/8 1:45