2016-10-23 120 views
0

私はSikulixIDE 1.1.0を使用して、Yugiohゲーム(Windows 10 x64で動作)を再生するスクリプトを作成しています。 メイン画面を参照してください: Game screenSikuliのクリックは無効です

私は手動でゲームを起動して、以下のようにスクリプトを実行します。

switchApp("Yu-Gi-Oh! PC") 
click("1477213591920.png") 

私の期待は「DUEL MODE」という名前のリンクが次に行くためにクリックされたということです画面。カーソルは常にそのリンクに移動しますが、機能しないことがあります。

私はログを確認して、Sikuliがクリックコマンドを送信したのを見ますが、何らかの理由でゲームがそれを受け付けないことを確認します。

[log] App.focus: [8020:Yu-Gi-Oh!] 
[log] CLICK on L(687,488)@S(0)[0,0 1366x768] 

私はすでに試した:

  • doubleClick代わりのclick
  • sleep
  • hover

clickしかし、すべてがそう数秒これはログですうまくいきません。

答えて

2

あなたが試したことのいくつかが助けになると思いますが、そうでない場合は、ボタンが実際にトリガーされたかどうかを特定する必要があります。これを行うには、次の画面またはそれを一意に識別する部分をキャプチャする必要があります。次に、事前定義された試行回数とそれらの間の待ち時間のあるループを使用し、クリックが機能しなかった場合は複数回クリックします。だから、一般的にそのような何か(擬似コード):あなたがSikuliXを使用している場合、ユージン・Sの回答にADITIONで

attempts = 3 
for attempt in attempts: 
    click(button) 

    if (nextScreen is available): 
     break 

    sleep(time) 
0

、あなたはスローモーションに実行しようとすることができます。また、画像は(明るさのような)いくつかの効果を持っている場合、あなたは内パターンを使用しようとすることができますが存在する():イメージは持っているので、もし

デフォルトで
if exists(Pattern("DualMode.png").similar(0.6), time_in_seconds): 
    click(Pattern("DualMode.png").similar(0.6)) 

、同様の()の値は、0.8でありますいくつかの効果と、例えば毎秒の色の変化など、0と1の間の低い値を設定することができます。

PS:存在したらパターンを入れてクリックしてください。 click()の内部でImage not foundエラーメッセージがスローされる可能性があります。

+0

ありがとうございます。しかし、私の場合は、イメージが見つかりました、ちょうどクリック()コマンドは効果がありませんでした。 –

関連する問題