問題タブ [flex4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
actionscript-3 - Flex/AS3とAppEngineのセキュリティサンドボックスの問題
AppEngineでホストされているAS3AMFRemoteObjectリクエストで問題が発生しました。ドメインのルートにcrossdomain.xmlファイルがあり、リモーティングエンドポイントにも1つあります。
ルートcrossdomain.xmlの内容は次のとおりです。
<?xml version="1.0"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies ="all"/>
<allow-access-from domain="*.appspot.com"/>
<allow-access-from domain="*.{appid}.appspot.com"/>
<allow-access-from domain="*.{appid}.com"/>
<allow-access-from domain="*.{appid}.org"/>
</cross-domain-policy>
アプリケーションのIDを{appid}に置き換えました。<site-control>
エンドポイントcrossdomain.xmlでは、タグが省略されていることを除いて、まったく同じことを示しています。
swfファイルをロードして自分のマシンでテストすることは問題なく機能します...これは、デバッガバージョンのFlashPlayerを使用していることと関係があると思います。App Engineにプッシュして公開すると、他のクライアントがアクセスしてを取得しClient.Error.MessageSend Channel.Security.Error error Error #2048 url: http://05-alpha.latest.{appid}.appspot.com/_rpc/data
ます。
Flex4ベータ版とAppEnginePythonランタイムを使用しています。このエラーを回避するために、クロスドメインで完全なワイルドカードを試し、相対URLでデータエンドポイントにアクセスすることも試みました。
誰か助けてください!前もって感謝します。
apache-flex - 外部swfコントロールフレックスアプリケーション?
外部のswfファイルをロードするflexアプリケーションがあります。flash cs4を使用して外部swfファイルを作成したので、必要に応じてコードを追加できます。
外部swfをロードするために使用するコードは次のとおりです。
外部swfにクリックイベントをflexアプリケーションに送信させることはできますか?どのように?
apache-flex - Flex 4 の mx/fx/s オブジェクト タイプの違いは何ですか?
Flex4 は、次の名前空間を提供します。
違いは何ですか?どの名前空間がどの機能を提供しますか? それに関する情報はどこにありますか?
apache-flex - フレックス4:soapのデータプロバイダーを使用したアイテムレンダラー:ir@194e5851をmx.controls.listClasses.IListItemRendererに変換できません
<mx:List>
ソープリクエストから受け取ったdataProviderをに入力しようとしています。これを達成しようとすると、次のエラーが発生します。
TypeError: Error #1034: Type Coercion failed: cannot convert AchivementsItemRenderer@1906a851 to mx.controls.listClasses.IListItemRenderer.
at mx.controls::List/createItemRenderer()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\controls\List.as:1987]
at mx.controls::List/http://www.adobe.com/2006/flex/mx/internal::getMeasuringRenderer()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\controls\List.as:1896]
at mx.controls::List/commitProperties()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\controls\List.as:911]
at mx.core::UIComponent/validateProperties()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\core\UIComponent.as:7387]
at mx.managers::LayoutManager/validateProperties()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\managers\LayoutManager.as:572]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\managers\LayoutManager.as:700]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1069]
同じdataProviderを使用すると<mx:Repeater>
、問題なく動作します。私は何が欠けていますか?
mxmlファイル
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
xmlns:local="*" backgroundColor="#aabbcc" fontSize="11" creationComplete="init()">
`
`
アイテムレンダラー
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
xmlns:local="*">
flex4 - flex 4: 画像付きのトグル ボタンのスキニング
ボタンを画像でスキンしようとしています。
次のCSSコードを追加しました:
ボタンをクリックすると、画像が表示されません。何か案は ?
apache-flex - Flex:MX+SparksとMXのみのコンポーネント
Flexのビデオコンポーネントで遊んでいます。新しいプロジェクトを開始するとき、私は(MXのみ)と(MX + Sparks)のどちらかを選択することができました。プロジェクトを(MX + Sparks)に設定すると、見つかった唯一のビデオコンポーネントはs:VideoPlayerと呼ばれ、スキンが適用されます。プロジェクトを(MXのみ)として開始したとき、私が見つけた唯一のビデオコンポーネントはmx:VideoDisplayであり、スキンは付属していません。どちらを選ぶべきかわかりません。
一方はもう一方よりも優れているか、より高度であるか、バグが少ないと思われますか?
それらの間に互換性の違いはありますか?たとえば、どちらもフラッシュ9と10で機能しますか?
新しいs: VideoPlayerの方が優れている場合、プロジェクトを新しい(MX + Sparks)に設定する方法はありますが、それでもカスタムスキンを設定できます。
新しいs:VideoPlayerコンポーネントに推奨するチュートリアルはありますか?
ありがとう
apache-flex - flex4: swfloader を使用して、ロードされた swf からイベントを取得します
SWFLoader クラスを使用して子 swf をロードするマスター swf があります。子 swf は、NetConnection クラスを使用して Adobe Flash Media Server に接続しています。親swfを使用して、接続に関するステータスを表示したい。どうやってやるの ?
flash - flex4: swfloader を使用して flex4 swf をロードすると、ロード バーのみが表示されます
次のコード行を使用して、flex 4 プロジェクトに swf をロードしようとしています。
demo.swf ファイルは、flex 4 を使用して作成した別のプロジェクトです。問題は、アプリケーションを実行すると、demo.swf フラッシュ ファイルの読み込みバーしか表示されず、他には何も表示されないことです。
別の swf ファイル (ダウンロードしたゲームなど) を読み込もうとすると、問題なく読み込まれます。
私は何が欠けていますか?
image - Adobe Air アプリケーションで大きな PNG 画像を表示する
私は最低限の Adobe Air アプリケーションを持っています。それは基本的に a のs:SkinnableContainer
中にありmx:WindowedApplication
ます。SkinnableContainer
. _ s:SkinnableContainer
は Flex 4 Beta3 (spark コンポーネント) のタグであることに注意してください。
バックグラウンド
問題を説明する前に、このアプリの背景を少し説明します。この Air アプリケーションはサーバー側で実行され、データベースを定期的にチェックし、SkinnableContainer
. このマークアップは、実際にはエンドユーザーがこのグラフィック コンテンツを作成するために使用する Flex Web アプリケーションから取得されます。この Air アプリケーションが行うことになっているのは、Flex Web アプリケーションで使用される画像の非常に高解像度のバージョンを使用し、エンドユーザーがブラウザーで作成したグラフィック コンテンツの高解像度バージョンを再作成することです。SkinnableContainer
Air アプリケーションは、最終的に の内容をビットマップとしてファイルに書き出します。
Air アプリケーションを使用する理由は、ブラウザーでレンダリングされる小さいバージョンのグラフィック コンテンツと、Air アプリケーションが生成する高解像度バージョンとの間でレンダリングの 100% の一貫性を確保するためです。
問題
私が直面している問題は、この 3.20MB のイメージが にs:Skin
適用されるソースとして設定されている場合に表示されないことSkinnableContainer
です。サイズが 3000 x 4500 ピクセルで 1.73MB の小さいバージョンの画像を使用すると、アプリケーションでレンダリングされます。アプリケーションをデバッグ モードで実行していますが、大きなイメージが失敗しても例外は発生しません。どちらの場合も、子のグラフィカル要素はSkinnableContainer
適切にレンダリングされます。
その他の実装メモ:
- スキンのソースは、現在、画像への URL
http://localhost/foo/bar.png
です。Firefox からヒットすると、画像に問題なくアクセスできます。 - ソースを次のように設定します
BitmapImage([get the skin].backgroundImage).source = "http://localhost/foo/bar.png"
。
Air によって適用される、注意すべきメモリ制限はありますか? これは、spark コンポーネントの 1 つのバグですか? 例外が発生しないのはなぜですか? 最も重要なのは、これを修正するにはどうすればよいですか?
apache-flex - Flex無効化フレームワークでダーティフラグ「invalidatePropertiesFlag」をリセットする時期はいつですか?
Flex 3 (Flex 4) SDK の mx.core.UIComponent クラスのメソッド「validateProperties」のリストを参照してみましょう。
私の質問は:
commitProperties の呼び出し後にダーティ フラグinvalidatePropertiesFlagがリセットされるのに、この呼び出しの前にリセットされないのはなぜですか?
これは次の理由によると推測します。
1) IF ブロックの最後にダーティ フラグを付けるのは命の問題です。
2) commitProperties内のコードで RTE が発生した場合でも、Flash Player で次のフレームを再生しているときにcommitProperties内のコードを実行する機会があり、今回はコードが RTE をスローしない可能性があります。
この質問をする理由は、次の事実です。
commitProperties内のコードがダーティ フラグとinvalidateProperties無効化呼び出しを使用して別のUIComponentのプロパティを無効にしようとする場合、この無効化呼び出しはmx.managers.LayoutManager.invalidatePropertiesQueueに追加されません。これは、ダーティ フラグinvalidatePropertiesFlagがまだリセットされていないためですcommitProperties 呼び出し。