6

pebble.jsGitHub リポジトリからロードするプロジェクトに取り組んでいます。私は基本的にローカルでコードを書き、GitHub にプッシュしてから、CloudPebble にプルしてビルドします。これは、私のコンピューターが SDK を実行するのに適していないためです。CloudPebble は私の画像リソースを正しく認識していますが、それを参照する方法がわかりません。最初は、サブパスをresourcesフォルダーに移動するまで画像を見つけることができませんでした。これにより、適切なインポートが可能になりましたが、画像を参照するたびに、アプリ ログに次のように記録されます。

JavaScript Error:
send@[native code]
    at load (ui/windowstack.js:2654:22)
    at load (lib/image.js:165:11)
    at load (ui/imageservice.js:85:16)
    at resolve (ui/imageservice.js:109:60)
    at ImageType (ui/simply-pebble.js:41:32)
    at lib/struct.js:161:32
    at menuItem (ui/simply-pebble.js:814:10)
    at _resolveItem (ui/menu.js:161:30)
    at _preloadItems (ui/menu.js:170:22)
    at _resolveSection (ui/menu.js:151:25)
    at section (ui/menu.js:239:23)
    at updateActivityMenu (app.js:44:18)
    at app.js:167:21
    at onreadystatechange (lib/ajax.js:109:17)

これが私のプロジェクト構造のサンプルです:

/project/resources/images/some_image.png
/project/src/app.js
/project/appinfo.json

これは関連するビットですappinfo.js

    "media": [
        {
            "file": "images/some_image.png",
            "name": "MY_IMAGE",
            "type": "png"
        }
    ]

そして最後に関連するビットapp.js

    var item = {
        title: data.Response.data.activity.activityName,
        subtitle: data.Response.data.activity.activityDescription,
        icon: 'MY_IMAGE' 
    };

また、プロパティの画像パスを直接参照しようとしましたiconが、画像が表示されず、同じJavaScript Error. ビルド ログにイメージが正しく追加されていることがわかります。

[ 6/29] some_image.png.pbi: resources/images/some_image.png ../../app/sdk2/Pebble/tools/bitmapgen.py -> build/resources/images/some_image.png.pbi

この時点で私は途方に暮れています - どんな助けでも大歓迎です。

4

2 に答える 2

1

リソース ID の代わりにイメージへのパスを使用してみてください。

var item = {
    title: data.Response.data.activity.activityName,
    subtitle: data.Response.data.activity.activityDescription,
    icon: 'images/some_image.png' 
};

pebble.jsドキュメントは、これが内部メニューの適切なアプローチであることを示唆しています:

var menu = new UI.Menu({
  sections: [{
    title: 'First section',
    items: [{
      title: 'First Item',
      subtitle: 'Some subtitle',
      icon: 'images/item_icon.png'
    }, {
      title: 'Second item'
    }]
  }]
});
于 2015-03-19T16:37:09.263 に答える
0

Pebble SDK 2 または 3? 3 より前では、画像リソースを PNG から PBI に事前に変換する必要がありました。Pebble の画像ドキュメントには、元の (別名 Aplite) および Time (別名 Basalt) Pebbles でサポートされている形式の詳細が記載されています。

于 2015-03-12T01:33:49.030 に答える