LG SmartTV(WebOS)用のテトリスの作成

まえがき



-危機の中でロシア人は何をしていますか?

-できるだけ早く彼のすべてのお金を使います。



鉄片



テレビLG lb671vを自分用に購入しました。古い伝統によれば、特にLGには独自のオンラインアプリケーションストアとサードパーティ開発者向けのオープンSDKがすでにあるため、新しいハードウェアごとに何かを書くことにしました。



私はオンラインストアに行きます、そしてあなたはどう思いますか? 修正する必要があります。



ツール



SmartTVセクションで 開発者のWebサイトにアクセスし、SDKをダウンロードします。 開発ツールのパッケージには、コマンドラインツール、エミュレータ、開発環境(Eclipseを使用)が含まれます。 インストールに問題がある場合は、 SDKページの「トラブルシューティング」セクションを参照してください。 特別な問題のインストールは発生しません。



WebOSプラットフォームは、Web、ネイティブ、Unity、Flashなどのいくつかのタイプのアプリケーションをサポートしています。それらの一部は、サードパーティの開発者には利用できません。 私の場合、アプリケーションのタイプはweb(html5)です。



コード



キャンバスの全ページ。 オープンスペースのstackoverflowで見つかりました。
<html> <head> <title>Tetris</title> <meta charset='utf-8' /> <style> html, body { width: 100%; height: 100%; margin: 0; } canvas { display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; } </style> </head> <body onload="initGame()" <canvas id='myCanvas' height='1080' width='1920'>Not support</canvas> <script></script> </body> </html>
      
      







ゲーム



テトリスの実装を説明することには意味がありません。 自尊心のあるプログラマーは、タグ、スネーク、テトリスを書く必要があります。 スクリーンショットを提供します:







組立



1)すべてのファイルを個別のフォルダーに入れます。

2)アプリケーションの説明を含むJSONファイルを作成します。



 { "id": "myapp", "version": "1.0.0", "vendor": "mycompany", "type": "web", "main": "index.html", "title": "Tetris", "icon": "icon80.png", "largeIcon": "icon130.png", "appDescription": "Classic Tetris game. Enjoy it!", "splashBackground": "splashScreen.png", "bgImage": "bgImage.png", "bgColor": "#d0dbbd", "iconColor": "#343829" }
      
      





3)コマンドプロンプトで、次のフォルダーに移動し、SDKからビルドスクリプト「ares-package」を実行します。 その後、エラーがなければ、* .ipk拡張子のファイルが作成されます。

4)エミュレーターで実行する場合は、エミュレーターを実行して、コマンド「ares-install file_name.ipk」を実行します。

5)テレビで実行する場合は、次のものが必要です。

5.1)lg Webサイトでアプリケーションに署名します(* .ipkをダウンロードし、署名済みのアプリケーションをアーカイブとしてダウンロードします)。

5.2)フラッシュドライブ/ developer / apps / usr / palm / applications /にディレクトリを作成します;

5.4)サイトからダウンロードしたアーカイブをこのディレクトリに解凍します。

5.5)USBフラッシュドライブをテレビに接続すると、アプリケーションのリストに表示されます。 同時に、打ち上げにはテレビでのインターネットアクセスが必要です。



すくい



アンチエイリアシングとの戦いでいくつかの困難が生じ、古いスタイルのデザインには明確なピクセルが関係しています。 すぐに解決策を提供します。

a。 すべてのブラウザでアーティファクトを確実に削除できる唯一のオプションは、タイル間に透明ピクセルを挿入することです(これは、画像で透明度が使用されている場合に重要です)。

b。 ピクセル全体でのみ画像を描画します。



QA



そのようなコメントがありました:説明/テスト結果を正しく/完全に記入し、アイコンの透明度を削除し、戻る/ホームボタンを処理し、splashScreenを追加し、UIにボタンを追加します。 後者に関して:LGにはTVアプリケーションの要件があります-MRCUカーソル(マウス)はTVを制御するのに十分なはずです。 Magic Remote Control Unitは、任天堂Wiiゲームパッドのアナログである特別なリモコンです。



庭のいくつかの石LG



1)30分後にサイトの認証がリセットされます(多くの場合、再度サインインする必要があります。[IDを記憶する]チェックボックスは何にも影響しません)。 同時に、開発者のWebサイトとストアで、個別に登録する必要があります。

2) SFXサウンドの再生は0.5秒遅れるため、ゲームで効果音を使用するのが難しくなります。 LGの公式見解:私たちはこの問題に取り組んでおり(1年以上働いています)、音響効果の代わりにグラフィックの特殊効果を使用しています。 私は音を拒否しなければなりませんでした。

3)他のオンラインストアでこれがどのように機能するかはわかりませんが、説明とテスト結果を記入するのは面倒です。 テスト計画のほとんどの項目は、「アプリケーションが適切に記述されている」、「アプリケーションに悪意のあるコードが含まれていない」、「暴力や人種差別の呼びかけがない」、「アプリケーションが正常に動作し、エラーメッセージが表示されない」などです。



サポート



サポートに満足しています。 QAの発言を理解できませんでした:「UIはMRCU(カーソル+ OK +戻る)でナビゲート可能でなければなりません。」 英語でサポートレターを送りましたが、彼らはロシア語で答えてくれました。 私の場所、または曲がった英語によって識別されます。 サポートのスペシャリストがHabréに座っている場合-ありがとう。



数が少ない



プロトタイプを開発するための午後2時。

改訂のための1か月。

市場投入までの5か月、 興味深い作業(コーディング)が終了し、QAの失敗は熱意を加えませんでした。



パレート法:プロジェクトの20%は、80%の時間がかかります。



[ ソース ]



All Articles