0

だから私は彼らが「Adobe Animate CC」と呼んでいるこの次世代のFlashアプリケーションを初めて使い、インタラクティブなマップシーンを作成しようとしています...非常に基本的なものです。USA をクリックするとズームインします。再度クリックするとズームアウトします。

私が抱えている問題は、マップが SVG ファイルからインポートされたにもかかわらず、「Adobe Animate CC」ワークスペースにあるときにわかることから、CreateJS を使用してスケール トゥイーンを適用すると、ベクター データが保持されることです。グラフィックの端が非常にピクセル化されます。

私が使用しているコードは次のとおりです。

var _this = this;
_this.stop();

_this.america.addEventListener("click", zoomMap);

 function zoomMap(event) { 

     createjs.Tween.get(exportRoot.world1).to({scaleX: 10, scaleY: 10, x: 4000, y: 1000}, 1000);

}

そして、ここにピクセル化された結果のいくつかの画像があります:

ピクセル

まだ

さらに困惑させるのは、青緑色の円がシンボル内のネイティブの円オブジェクトであることです。svg ではありません。少なくとも、変換中は鮮明なままになると思います。

これは避けられないことですか?アプリケーションはエクスポート時にベクター ファイルのビットマップ バージョンをキャッシュしますか? これを止めることはできますか?トゥイーン中およびトゥイーン後にベクター ファイルを強制的に再レン​​ダリングすることはできますか? これを回避する方法はありますか?このアプリケーションは本当にベクター グラフィックスをサポートしていますか?

4

1 に答える 1

1

Animateは画像としてエクスポートしている可能性がありますが、指示しない限りエクスポートすべきではありません。あなたのライブラリ JavaScript はどのように見えますか? エクスポートされた画像はありますか? ソースを検索して.cache、Adobe が内部で面白いことをしていないかどうかを確認してください。

マップが SVG ソースの場合: 残念ながら、EaselJS (Animate エクスポートの下にある) での SVG サポートのみが、「ビットマップ ソース」としての svg 用です。これは、特定の寸法の画像として扱われ、「100%」を超えて拡大縮小すると詳細が補間されることを意味します。

より大きなビットマップとしてロードし、縮小して開始することは可能かもしれませんが、それは次のようになります。

  1. メモリ内ではるかに大きくする
  2. まだそれほどスケールすることはできません

もう 1 つのオプションは、SVG アセットを Adob​​e Animate にインポートすることです。これにより、ベクター グラフィックに変換されます。EaselJS のベクターの場合は、イメージ ソースの代わりに Canvas ベクター API を使用して描画するため、必要なだけ拡大縮小できます。

緑色の円はネイティブだとおっしゃいました(Animate の形状を想定していますか?)。形状ではなく画像としてエクスポートされていませんか? 何かキャッシュしていますか?

それが役立つことを願っています!

于 2019-01-16T18:06:11.167 に答える