問題タブ [minko]
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++ - c++ の shared_ptr と、それらを表すオブジェクトへの信頼できるポインターを理解できないようです
私は c++ の初心者で、ゲームエンジン フレームワークの minko を使用しようとしています。Minko は shared_ptr を非常に過度に使用しており、一般的な c++ *ptr ロジックをエスケープしているように見えるため、それらがどのように機能するかを理解するのに問題があります。
初期化フェーズのどこかで、canvas、sceneManager、rootNode オブジェクトなど、いくつかのオブジェクトが作成され、メンバー関数を介して取得されます。私はそれらすべてを Game クラス内で結び付けようとしています。このクラスには、いくつかのゲーム ロジックは別として、これらの重要なエンジン オブジェクトのそれぞれへのポインターが含まれている必要があります。
関数呼び出しが機能せず、何も起こらなかったため、これを機能させるための最初の試みでオブジェクトが重複するという問題が発生しました。いくつかのデバッグの後、ポインター割り当ての後に printf 関数を追加して、それらが実際に指している場所と異なるメモリ アドレスを指していることを確認しました。
オブジェクトから始めましょう。
これらのオブジェクトにはすべて ::Ptr メンバー属性が含まれており、ポインターが直接含まれているようです。shared_ptr ドキュメントでこれに関する参照が見つからなかったので、これはゲーム エンジンに固有のものであると思われます。
これで Game クラスができました:
そして、上記のオブジェクトが作成される同じ関数のどこかに、割り当て:
各変数の前後にさまざまな * と & の組み合わせを試し、ポインター、直接値、ポインターポインターのあらゆる種類の組み合わせを試しましたが、2 つのデバッグ呼び出しに到達するたびに:
メモリ値が異なっていたため、同じオブジェクトを指していないと思いました。
さて、ここからどこへ行こうか?ドキュメンテーションはあまり役に立ちませんでした。まだ完全には理解していない膨大な量の情報があり、私が見つけたこれらの Web サイトはすべて、私がまだ持っていない膨大な量の C++ の知識を必要としているようです。これを理解するには、5 年以上の C++ の知識を蓄積するよりも簡単な方法が必要です。
linux - minko / lua の問題: premake5.lua:3: グローバル 'minko' (nil 値) のインデックスを作成しようとしています
私はminkoで作業しており、3 つのプラットフォーム (Linux、Android、HTML5) 用に MINKO SDK を適切にコンパイルし、すべてのチュートリアル / サンプルをビルドすることができました。独自のプロジェクトの作成に移り、既存のスケルトン プロジェクトの使用方法の指示に従い、次に既存のサンプル プロジェクトを使用しました。
(この行のスケルトン コードにエラーがあると思います:
サンプルファイルは次のようになります。
premake5.lua を変更して (より多くのプラグインを含めるように)、1 週間前に script/solution_gmake_gcc.sh を呼び出して make ソリューションを生成することで、これを行うことができました。今日、新しいフォルダーに新しいプロジェクトを作成しようとしましたが、
script/solution_gmake_gcc.shとscript/cleanが次のエラーで失敗しました:
minko-master/skel_tut/mycode/premake5.lua:3: グローバル 'minko' (nil 値) のインデックス作成を試みます
premake5.lua の 3 行目には、minko .project.solution(PROJECT_NAME) という行がありますが、私は lua にまったく詳しくないので、この問題について何か光を当てることができますか? ここで宣言されているはずなのに、なぜ突然失敗するのでしょうか... ? (コードを変更、コンパイル、実行することはできますが、たとえばプラグインを追加することはできません)
PS: 奇妙なことに、以前は「機能していた」プロジェクトもこの時点で失敗しています。
ありがとう。
html - minko の html イベントによって開始された C++ コードをトリガーすることは可能ですか?
minko 、「html オーバーレイ」機能を使用して、html から c++ コードにイベントを送信することは可能ですか?
フレームワークを使用して提供された例では、イベントを c++ から html に送信する方法を明確に示しています (カウンターをインクリメントして html に反映させることにより)。通信を逆にすることは可能ですか?
android - minkoでシステムイベントをキャプチャして処理する方法は?
Minkoで Android アクティビティ ライフ サイクル イベント (onCreate、onStart、onPause、onResume...) などのシステム イベントを取得することはできますか?
たとえば、Canvas.hpp で確認できます。
と
「システム」イベントがアプリに送信されていると思いますが、探しているものが見つからないようです。それとも、別のクラスを探す必要がありますか?
たとえば、フレームワークのオーディオの例は、Android フォンで完全に再生されますが、アクティビティ/アプリケーションが「視覚的に」終了した後も音楽を再生し続けます。(実行中のプロセスを手動で強制終了した場合にのみ終了します)
ありがとう。
registry - ハードウェア サポートを使用した minko ボーン アニメーションにより、エラー #3659: AGAL 検証に失敗しました
ベースラインではなく標準プロファイルで実行するように minko as3 コードを更新しました。実際に知っているアニメーション付きのメッシュがあり、185 個の頂点定数があり、最大許容量は標準で 250 ですが、[トレース] エラー: エラーが発生し続けます。 #3659: AGAL 検証に失敗しました: 頂点プログラムのトークン 1 で、ソース オペランド 1 の定数レジスタ インデックスが範囲外です。
アガルがどのように機能するかについてはまったく知識がありませんが、ミンコは理解できます。誰かが私を正しい方向に向けてくれませんか? 私はすでにminko Profile.asクラスとそれが使用されている場所を調整しました.
minko - テクスチャとマテリアルを含む .dae オブジェクトをロードする方法
Minko を始めたばかりで、このhttps://github.com/aerys/minko/blob/master/doc/tutorial/06-Loading_3D_files.mdチュートリアルを理解しようとしています。私はいくつかの手順を実行しました:
そして今、これらの 3 つのテクスチャをオブジェクトとファイル .mtl -> マテリアルで使用しようとしています。
これは機能しません.mtlファイルはどうですか? オブジェクトにアタッチする方法は?
ただし、チュートリアルはまだ小さくてバグが多いため、例を探す方が良いですが、オブジェクトのテクスチャ読み込みに関するものは今のところ見つかりません。
android - Minko - getElementById によりランタイム例外がスローされます: TypeError: Minko.tmpElement is null
minkoと html-overlay 機能を使用しています。私のオーバーレイ onload()->connect() メソッドには、次のステートメントがあります。
...
...
ロードされた html に but1 ID と but2 ID が含まれていなくても、linux64 でのコンパイルと実行は完全に機能しますが、同じコードが Android と Web / HTML5 でクラッシュし (予期される ID が見つからない場合)、次のエラーが発生します。
exception thrown: TypeError: Minko.tmpElement is null
そのような場合の回避策はありますか、それとも c++ で期待される ID を html でも定義することが必須ですか?
どうも。
c++ - ミンコでの場面転換
Minko でシーンを切り替える標準的な方法はありますか? 具体的には、各シーンを異なるレベルとして想像しており、ユーザーが何らかのタスクを完了すると、レベル全体が変化します。
すべてのメッシュなどを更新できることはわかっていますが、これは気分が悪いです。新しいシーンのルート ノードを構築し、代わりにそのルート ノードを使用するようにキャンバスを切り替える方法はありますか (すべてのオブジェクトが変更されるため、再レンダリングを強制するだけでなく)。
javascript - minko get object from dom
javascript関数でオブジェクトを作成し、いくつかの値を変更するためにdomクラスからC++で取得したいのですが、css構文の一部であるid、タグ、またはクラスによってのみアクセスできます。私のオブジェクトを取得して値を設定したり、それらの値を彼に送信したりする可能性はありますか?