1

最新の SDK を使用して、Samsung Smart TV 用のアプリを開発中です。

シーンベースのアプリケーションがあり、TV remove を使用して制御したいと考えています。

.select()jQueryを使用してカーソルを入力フィールドの1つに移動させる素朴なアプローチは、リモートを完全に無効にしているようです。エラーは

本体は現在アクティブ化されていません... スキップしてください! :入力

私が知る限り、これは onkeydown-Handler を持つ body-element と関係があります。

これにより、基本的にフォーカス/ぼかしステータスを手動で管理する必要が生じ、:active、:focussed などの CSS セレクターを使用できなくなります。

ヘルプ/ドキュメントへのリンク/などをいただければ幸いです。

VMWare ベースのエミュレーターを使用して、Mac OS でアプリケーションを開発しています。

4

2 に答える 2

2

アプリで行ってきたことは、シーン内のアクティブな要素にクラスを割り当てることです。次に、javascript を使用して、アクティブなページ要素に基づいてリスナーを追加できます。

たとえば、アプリケーションのロード時に、HTML のページの最初のボタンにアクティブなクラスを割り当てることができます。次に、リモコンのボタンのリスナーを作成して、ダウン ボタンがアクティブ状態をシーン内の次のボタンに変更するようにします。

//key press listener for remote
SceneScene1.prototype.handleKeyDown = function (keyCode) {
    //find the key code you are looking for
    switch (keyCode) {
        case sf.key.LEFT:
        //code for left keypress
        break;

    case sf.key.RIGHT:
        //code for left keypress
        break;

    case sf.key.UP:
            //code for up keypress
        break;

    case sf.key.DOWN:
        //code for down keypress
            if ($('#button1').hasClass('active')) {
                $('#button1').removeClass('active');
                $('#button2').addClass('active');
            }
        break;

    case sf.key.ENTER:
            //code for enter keypress
        break;
    }
}

そうです、それほどきれいには見えませんが、リモートとインターフェースしているときに得られるのと同じくらい良いです. 「フォーカスされた」要素を指定し、それらをリモートからの指示のコンテキストとして使用する必要があります。

于 2013-02-13T14:34:02.077 に答える