問題タブ [alchemy]
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.
c++ - libpng を使用して画像を読み取るにはヘルプが必要です
これが私の機能です...なぜ機能しないのかわかりません。結果の画像は、.png とはまったく異なります。しかし、エラーもありません。
ImageData は、x、y、幅、および高さを保持する単純な構造体であり、imageData はその構造体の配列です。
これは、入力と出力のグラフィックス (寸法 8x30) (テストのために 1 分で作成したもの) を並べたスクリーンショットです。これは、表示させるためにアルファを 255 に設定した後のものです (アルファがバックは1)でした。左がオリジナル、右がこの機能で読んだ後のものです。視認性のために 400% 拡大。
http://img217.imageshack.us/img217/1627/testbullet.png
トレースのログは次のとおりです。
これで数日間立ち往生していたので、助けていただければ幸いです。
編集: これは別の 2 セットの前後の比較です...もう一度、すべてのトレースでアルファは 1 で、スクリーンショットが撮影される前に 255 に変更されました。
xml - Adobe Alchemy での xml 解析
こんにちは、Adobe Alchemy で xml ファイルを解析する方法の例を教えてください。私は外国人に取り組もうとしていますが、Cコードとの間でバイト配列をやり取りするのはうまくいきませんでした。
ファイルのバイト配列を錬金術に渡す必要がありますか、それともファイル名を渡すだけで十分ですか。
ありがとう。
cbs
flash - シンプルな OpenGL の実装
いくつかのカジュアル ゲームの Flash への移植に取り組んでいます。それらは OpenGL に基づいています。使用している OpenGL のバージョンは主に 1.x です。依存するゲーム エンジンは 2D です。OpenGL テクスチャと最も単純な glBegin/glTexCoord/glVertex/glEnd に基づいています。ブレンディングとタイリングも使用されます。
質問。私は OpenGL を再発明したくありません。教えてください - オープンソースの OpenGL C/C++ の簡単な実装をご存知でしょうか? Alchemy を使用しようとしているので、C/C++ は大歓迎です :) 既に Mesa3d を見つけました。
flash - フラッシュ波形のパフォーマンスの問題を解決するための提案
私の質問は、以下のこの質問の続きのようなものですが、新しい質問を始めるのが最善だと思いました.
この as3 コードをピクセル ベンダー コードに変換するのに役立ちます
そのため、mp3 から pcm データを抽出し、複数のズーム レベルで波形を描画する波形描画の実装がフラッシュにありました。数分以上のトラックを処理し始めるまでは問題なく動作しますが、受け入れられないほど遅すぎます. だから私はより速い解決策を求めています。
計算がとても速いと聞いたので、最初はピクセルベンダーを試してみようと思いました。これは事実ですが、上記のリンクに示されているように、for ループがないため、このテクノロジは不適切な候補になります。
だから今、私は代替手段として最善の道と財布を考えています.
波形計算コードを c で記述し、alchemy を使用すると、認識可能な速度とパフォーマンスの向上が得られますか? その基本的にはまだ as3 が正しく動作していますか?
ある種のサーバー側スクリプトを使用したほうがよいでしょうか? pcm データを bytearray として php スクリプトに渡し、スクリプトがプロット データを返すようにすることはできますか?
他に検討できるテクニックがあれば教えてください。
編集:>>
私がas3でやろうとしていることは
mp3s オーディオ データをバイト配列に抽出する 最大ズーム レベルでプロットする仮想ピクセル数を決定する (たとえば、800 ピクセル = 2 倍ズームでのトラックの 10 秒)
したがって、サンプル数 = 33315840 で、仮想ピクセルの最大数 = 1600 (ビューポートの幅が 800 ピクセルであるためスクロールが必要) の場合、チャンク サイズ = 33315840/1600 = 20822 となります。
したがって、hte bytearray の 20822 サンプルごとに最大値を見つけ、その値をプロット値として使用します
編集2
@backtodos
私はあなたが作ったポイントについて考えました、そしてそれはこの最大のビジネス全体よりも賢明に思えます.
あなたが話していたことを表していると思う次のコードを完成させました。問題の 1 つは、解像度を 800 を超える値に変更すると、線が非常に高くなり、線が非常に短くなり、非常に奇妙に見えることです。800 では非常に素晴らしい波形です。
解像度が 1600 を超えると、四角形を描画しようとすると、パラメーターが無効であるというエラーがスローされます。
ズーム戦略について少し混乱していると思います。「ズームインすると、解像度が重複して波形が再描画されます」と言います。私はあなたが何を意味するのかよくわかりません。一度に 800 ピクセルしか描画できないことはわかっています。2 倍のズームを行ったとします。これは、サンプル ソースからの読み取り量を 2 倍にし、1600 個のプロット ポイントを持っていますが、スクロール位置に基づいて一度に 800 個しか描画しないことを意味しますか?
編集 3 > 800 個のプロット ポイントしか得られないことに基づいてコードを改善しました。このコードは、私の目的には十分速いようです。解像度に固執するという@backtodosの提案を使用して、多くの処理を節約します。
解決法 backtodos の助けに感謝します。これには非常に多くの最適化が必要ですが、誰かにとっては良い出発点です。
flash - Alchemy の AS3_Shim が壊れた?
Alchemy コードでAS3_Shimを使用しようとしていますが、機能していないようです。常に NULL 関数ポインタを返します。AS3_Shim の使用例がないように見えるので、何が間違っているのかわかりません。コード例を次に示します。
c++ - std :: mapが錬金術で壊れていますか?
次のコードは、std::stringをキーとして使用してstd::mapの使用をテストします。
通常のgccでコンパイルすると、このテストは期待どおりに「test1:1」を出力します。ただし、alchemyでコンパイルすると、「test1:3」(!)が出力されます。ここで何かが非常に間違っています。
これに対する回避策はありますか、それとも私は立ち往生していますか?
flash - 錬金術で壊れたグローバル?
Adobe Alchemyはグローバル コンストラクターを実行していないようです。簡単なテストコードを次に示します。
ネイティブ gcc でコンパイルすると、次のように出力されます。
alchemy gcc でコンパイルすると、次のように出力されます。
この問題は、多くのコード、特にUnitTest++ (自動テスト リスト機能を動作させるために初期化されるグローバルに依存する) を壊します。
私は本当にこれの底に行きたいです。リリースに間に合わなかったのはバグですか、それとも機能ですか? 回避策は可能ですか?
編集: Adobe フォーラムの関連する投稿はこちらです。
flash - AlchemyとUnitTest++を連携させる
UnitTest ++を使用するプロジェクトでAdobeAlchemyを使用しています。単体テストは、ビルドプロセスの一部として実行されます。
UnitTest ++は、Alchemyに実装されていないC ++の機能、つまり静的クラスのインスタンス化や関数の呼び出しによるグローバル変数の初期化に依存していることがわかりました。
UnitTest ++の優れている点は、実行するテストのリストにテストを追加することを覚えておく必要がないことです。これは、マクロマジックを使用してテストケースクラスを作成し、それらをテストのグローバルリストに追加することで自動的に行われます。したがって、この:
これになります:
ここで、のコンストラクターはテストのグローバルリストにListAdder
追加されます。testMyTestInstance
問題は、Alchemyのバグのため、ListAdder
コンストラクターが実行されないため、テストのリストが常に空になることです。
コンストラクターが呼び出されないことを証明するために、ListAdder
コンストラクターが呼び出されたときにクラッシュするようにインストルメント化できます。
これは、ネイティブにコンパイルするとクラッシュしますが、Alchemyでコンパイルするとクラッシュしません。
それを確認するためのそれほど抜本的な方法は、printfを追加することです。
ネイティブにコンパイルすると、テストごとに「ListAdder ...」が表示されますが、Alchemyでコンパイルすると、何も出力されません。
私の質問は、テストが実行されるようにUnitTest ++を変更するにはどうすればよいですか?ここで説明されている回避策は当てはまらないようです。
flash - swfbridgeと大きなファイル
Alchemyで使用しているCプロジェクトがあります。プロジェクトには、swfbridgeを使用して実行したいビルド後のコマンドラインテストがいくつかあります。
これらのテストは実行されますが、非常に低速です。問題は、適度に大きなファイル(〜3MB)をメモリに読み込むことです。通常のAlchemyを介して同じファイルでこれらの同じテストを実行する(たとえば、swfbridgeを使用せず、ASからのsupplyFileを使用する)のは非常に高速です。
ボトルネックはswfbridgeだと思います。より具体的には、swfbridgeがファイルをロードする方法です。それらを読み込み、ローカルホスト接続を介して1024バイトのチャンクでメインの錬金術swfに送信します。(これはswfbridge.logで確認できます。)
私の質問は、swfbridgeをより効率的にする方法はありますか?たとえば、別のチャンクサイズを使用させることはできますか?
ファイル読み取りコードの例を次に示します。このコードに約3MBのファイルを指定すると、実行速度が非常に遅くなります。
java - Javaアプレットでオーディオビデオを作成することはできませんか?
これは、GstreamerのネイティブJavaラッパーを使用してJ2SEで記述したコードです。しかし、残念ながら、それはWebブラウザーでは機能しません。私は今できることに非常に腹を立てており、このプロジェクトを終了する以外に方法はありません。
Java Applet for Gstreamerでオーディオ/ビデオを使用したり、CD / DVD品質のオーディオを作成したりすることは不可能ですか?(これはワールドワイドウェブを対象としておらず、ピアツーピアまたはピアツー10ピア間のWebブラウザのみを対象としています)。
例:j2SEとして動作するサンプルですが、同じコードがブラウザのJavaアプレットでは動作しません。
注:フォローアップ:Javaを使用している場合、どのWebブラウザーでも、このネイティブな方法が機能します。したがって、JAVAアプレットはどのブラウザでも機能します。私のような人は、この問題に直面しましたが、混乱することはありません。