問題タブ [actionscript]
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.
apache-flex - removeChild() が呼び出されたときの Flex のガベージ コレクション - 競合状態の管理
Flex には、モジュール クラスのインスタンスである子の「セクション」をロードして破棄する「フレームワーク」があります。これらには多くの Web サービスとアニメーションが含まれており、公開サイトの一部です。
画面からセクションを削除する前に、インスタンスで「hideSection()」インターフェイス メソッドを呼び出します。このメソッドでは、コントロールをフェードアウトするか、セクションが閉じられないようにする場合は false を返します。現在、実行中の Timer インスタンスも停止します。
問題は、セクション オブジェクトがステージから削除されても、未解決の処理が残っている可能性があることです。たとえば、effectEnded が何かをトリガーする場所でエフェクトを実行している場合や、低速の Web サービス リクエストがタイムアウトしてエラーがポップアップする場合があります。
ガベージ コレクターの動作方法により、そのオブジェクト object がすぐに殺されることもあれば、後で殺されることもあります。セクションが閉じられると、悪いことが起こるのを最小限に抑えようとしています。
次の可能な解決策を思いつきました。より良いものがあるかどうか疑問に思いました。
- true に設定された _disposed プロパティがあります。(セクションが閉じられた後)望ましくない動作をする可能性のあるイベントハンドラー内では、
if (_disposed) { return; }
. - .NET のように、'IDisposable' インターフェイスを実装する必要がある場合もあります。
これが本当に私の唯一の選択肢ですか?それとも、ガベージ コレクションを早めることができますか? エフェクトがまだ実行されている場合でも、ガベージ コレクションが発生する可能性はありますか?
また、特にタイマーを _null に設定する必要があるかどうかについても興味があります。または、参照が残っていない場合、タイマーを停止してガベージコレクションするだけで十分ですか。
apache-flex - 新しいスキル/フレームワーク/テクノロジーをどのように習得しますか?
比較的大規模な Adobe AIR プロジェクトに貢献できるようにする必要があり、このテクノロジーをゼロから始めています。それについて行く最善の方法は何ですか?
私は通常、優れた本/チュートリアルを入手して、それを自分のやり方で進めますが、今回は、合理的な時間枠内でこれを実行するには、学ぶことが多すぎるようです. Actionscript、FLEX などの本が必要です...
この特定のケースに役立つ可能性のある優れたリソースを知っていますか?
あなたが私の立場だったらどうしますか?
flash - 既存の Flash コンポーネントの自動テスト (非 UI)
パブリッシャーに配布され、パブリッシャーが当社のシステムと統合できるようにする一連の Flash コンポーネントを構築および維持しています。現在、コンポーネントには UI がなく、システム サーバーへのクエリ、応答の解析、およびクエリで送信されたパラメーターの変更を行うためのコンパイル済みコードが含まれているだけです。Flex と CS3 の両方に As2 バージョンと AS3 バージョンがあります。典型的なワークフローは次のようになります。
1.) コンポーネントをロードする 2.) コンポーネントにパラメータを設定する 3.) システムにクエリを実行するようにコンポーネントに指示する 4.) 応答が受信され、解析されたことを示すイベントを待つ 5.) コンポーネントのメソッドを呼び出して取得し、解析済みデータの使用
最近、これらのコンポーネントのテストを自動化することについてよく話し合っていますが、AsUnit や FlexUnit などのフレームワークについては多くの話題があるようです。しかし、私はこれらのうちの 1 つを効果的に使用する方法を理解できませんでした。例とチュートリアルは常に実際の例を軽視し、代わりに複数のクラスとサンプル関数が num1+num2 を返すかどうかをテストするための過剰なコードを提供します。
私が推測できる唯一のことは、これらのテスト フレームワークは、開発の開始時に組み込まれるテスト スイート、テスト ランナー、およびテスト ケースを計画して、最初から実装されることを意図していることです。
コンポーネントの自動テストでは、プロパティが適切に設定されていること、それらのプロパティがリクエストでシステムに送信されたこと、受信した応答が送信されたパラメーターを考慮して正しいこと、解析されたデータに正しい情報が含まれていること、エラーがないこと、応答が正しくないことを確認する必要があります。 、または無限の解析ループが発生します。
私の質問は、テスト フレームワークに適合するように完全に作り直すことなく、広く配布され、確立された既存の Flash コンポーネントのテストを自動化する方法はありますか? または、テストフレームワークを誤解していますか?これはすでに可能ですか?
更新: 返信ありがとうございます。自分のコンポーネントを AsUnit に統合し始めましたが、それがどのように役立つかについてかなりよく理解していると思います。ただし、AS2 AsUnit は非同期テスト ケースをサポートしていないため、AS2 単体テスト フレームワークを見つけるのに苦労しています。非同期テストは、このプロジェクトにとって非常に重要です。別のフレームワークに関する推奨事項はありますか? ありがとう!
apache-flex - .swfの場所ではなく、サーバールートに関連するFlexリソースの読み込み
サイトのメインファイルを表す大きな(700kb)Flex.swfファイルがあります。
パフォーマンステストのために、Amazon S3ホスティング(特定のビデオと大きなファイルですでに実行済み)に移行してみたかったのです。
私は先に進んでそれを行い、リモートの.swfを参照するようにhtmlページを更新しました。
Flashは、HTMLページのルートに関係なく、リソースにアクセスする.swfファイルに関連するすべてのリソースをロードすることがわかりました。そのため、私のリソースは現在、リモートサイト(リソースが存在しない場所)からロードされています。
私ができる2つの明らかなことがあります:*すべてのリソースをリモートでコピーします(私は今テストしているので、これの準備はできていません)*新しいパスを導出するために.swfがアクセスするすべてのURLに抽象化レイヤーを追加します。
私は本当にスイッチをフリックして、「[元のサーバー]に関連するすべてをロードする」と言いたいです。
そのようなものは存在しますか、それともすべてのパスを完全に修飾しない限り、リモートマシンからすべてをロードするのに行き詰まりますか?
私は次のような「ハッキー」を避けたい:サブクラスの画像とそこのパスをハックする
flash - FlashベースのRSS1/RSS2 / ATOM / RDFリーダーのソース?
Flashで優れたオープンソースRSSリーダーを見つける場所を知っている人はいますか?RSS、ATOM、RSS2を実装しているものはたくさんありますが、さまざまなRSSスタイル形式をすべて実装しているものはありません。最小限のサーバー要件で実行できるようにこれを維持しようとしているので、これをFlashに保持したいと思います...
要件:-RSS1 / RSS2 / ATOM / RDFを解析し、可能であればそれ以上-ActionScript 2で動作します-できればオープンソースですが、ソースコードが付属している場合は商用と見なします。
ありがとう、
ブラッド。
flash - Flex Builder 3: デバッガーがエラーをトレースし、as ファイルを修正すると、同じエラーがスローされ続け、過去にスタックする
Flex Builder でコンパイルしている最初のプロジェクトを実行しています。フラッシュまたはフラッシュ開発でコンパイルする前に。
しばらくの間、それはかなりきれいに機能しました。しかし、typeerrors をスローし始めるとすぐに、更新および保存されたアクション スクリプト ファイルをコンパイルできないようです。時間内にスタックし続け、エラーがまだあったときから actionscript ファイルをコンパイルしているようです。
おそらく、デバッガーの構成に関して見逃したオプションはありますか?
apache-flex - Flex 3 でドラッグ アンド ドロップ操作をキャンセル/承認しない方法は?
目標: ユーザーが AdvancedDataGrid から行をドラッグしてゴミ箱アイコンにドロップすることでレコードを削除できるようにし、[OK] ボタンと [キャンセル] ボタンを使用してポップアップ アラートを介してユーザーが削除を意図していることを確認します。
何が機能していますか:
- 行をゴミ箱アイコンにドラッグ/ドロップします。
- ユーザーが「OK」ボタンをクリックすると、レコードが削除されます。
- ユーザーが「キャンセル」ボタンをクリックすると、操作はキャンセルされます。
問題: ユーザーが [キャンセル] ボタンをクリックしてポップアップ アラートが閉じた後、ADG 内の行をドラッグできません。ADG を並べ替えた後、列ヘッダーをクリックすると、ユーザーは行のドラッグを再開できることがわかりました。
コード: (元の投稿から変更)
すべての役立つ提案を前もって感謝します。
flash - Flashで「static void Main」に相当するものは何ですか?
以前 Flash CS3 で正常に実行されたプロジェクトで FDT エディターを試しています。
FDT は正常にビルドして実行しますが、SWF は空白 (白) です。出力ファイルでいくつかのビューアを試しましたが、実際には空白です。
.fla
1 つの違いは、プロジェクトにエントリファイルが含まれていないように見えることです。私は Flash/ActionScript を初めて使用し、その FLA ファイルpublic static void Main
に他の言語のメソッドに似た魔法が含まれているかどうか疑問に思っています。
では、純粋に ActionScript 3 (.fla
ファイルなし) でアプリケーションを構築している場合、エントリポイント、キャンバス サイズなどを指定するにはどうすればよいでしょうか?
もちろん、FDT を正しく設定していない可能性もあります :)
編集:初心者アラート!
FDT で表示されていた白いステージは、FLA が別のフォルダーで実行されていて、リソースを読み込めなかったため、表示する準備ができていなかったことが判明しました。また、デバッガーを介してエラーが表示されないように FDT を構成しました。
この質問は少しばかげています。このような質問を削除するのは普通ですか?
堅実なプログラミングのバックグラウンドから Flash/ActionScript を使用する他の人にとって、これは表示モデルのかなり良い概要であることがわかりました。
http://livedocs.adobe.com/flex/3/html/help.html?content=05_Display_Programming_02.html#152593
actionscript - SWF で使用されている、fla のどこにも見つからない謎のアセット?
コードの上部近くに、次のようなものがあります。
btn_dropdown._visible = false; mcMenuBkg._visible = false;
しかし、ライブラリやコードのどこにもこれらのアセットが見つかりません。これはどのように意味がありますか?
同じように見えるライブラリ内のムービー クリップは名前が異なり、それらを完全に削除しても、コンパイルして実行すると表示されるか、トレース ステートメントをコードに追加しても呼び出されません。
これらの資産は一体どこで定義されているのでしょうか?
actionscript - actionscriptのマウスホバー位置でScrollPaneをスクロールするための最良の方法は?
マウスがスクロールペインの上端に近づくと、マウスが上端領域を離れた場合にのみ中断されて、マウスが最上部に到達するまで上にスクロールします。
下端も同じです。