タグ付けされた質問 「events」

イベントは、通常メインプログラムスレッドの「外部」で発生するアクションですが、その内部で処理されます。

8
ゲームエンジンでのイベント駆動型通信:はいまたはいいえ?
私はGame Coding Completeを読んでおり、著者はゲームオブジェクトとモジュール間のイベントドリブン通信を推奨しています。 基本的に、すべての生きているゲームアクターは、内部イベントメッセージングシステムを介して主要モジュール(物理、AI、ゲームロジック、ゲームビューなど)と通信する必要があります。つまり、効率的なイベントマネージャーを設計する必要があります。設計が不適切なシステムは、特にモバイルプラットフォームに影響を与えるCPUサイクルを消費します。 これは実証済みで推奨されるアプローチですか?使用するかどうかはどのように決定すればよいですか?

3
入力オブジェクトとゲームオブジェクトの懸念を分離しますか?
おそらくすべてのゲームで、開発者は何らかの方法で入力を処理する必要があります。それは、単純なキーボードイベントやマウスイベント、タッチイベント、または加速度計入力などです。この間接的な直接入力は、ゲーム内のオブジェクトに影響を与えます。同じ入力が異なるオブジェクトに影響する場合があります。今、私はこれをモデル化する方法について考えてきました。私がそれを見る方法には、2つの異なるアプローチがあります。 ゲームオブジェクト自体に処理させ、イベントをサブスクライブし、独自のメソッドを呼び出します。これには、ゲームオブジェクト自体が、どの入力がどのアクションを引き起こすかを決定できるという利点があります。欠点は、入力コードが「コア」ゲームオブジェクトコードで破損することです。また、ゲームオブジェクトはゲームの残りの状態を認識しないため、入力イベントに基づいて動作しない場合があります。これは正しくないようです。 一般的な入力コントローラーにすべての入力を処理させ、誰がどのイベントを処理するかを決定します。これは懸念をよりよく分離するように見えますが、入力コントローラークラスをゲームオブジェクトに緊密に結合します。誰がどのイベントをどの状態で受信したいかを知る必要があります。これも正しくないようです。 これを処理するためにどのような戦略を使用していますか?

3
ポーリングとイベント駆動入力
入力メソッドにポーリングを使用してゲームを開発しています。しかし、ゲームメニューやその他のUIコンポーネントをさらに深く掘り下げているので、おそらくイベントドリブンの入力が必要なことがわかりました。おそらく、UIにイベントドリブンを使用し、「world」入力をポーリングすることで、両方を持つこともできます。どうすればいいのか興味があります。 私はポーリングを次のように定義しています:更新ループごとに、どのキーが押されているか、マウスがどこにあるか、ボタンが押されているかを確認し、収集した情報に基づいてアクションを実行します。 イベント駆動型を定義しています:割り込みベースのイベント、イベントが発生し、割り込みがトリガーされ、イベントに基づいてコードブロックが実行される場合。 すべてのイベント駆動型、すべてのポーリングに行くのが最善だと思いますか、それとも両方の組み合わせが受け入れ可能ですか?どちらかの長所と短所がある場合は、それらをリストしてください。ありがとう。 編集 ゲームはJava / OpenGLベースであるため、Windows / Mac / Linuxにリリースされます。それをモバイルデバイスに拡張する可能性は低いです。ゲームはRTSスタイル、3人称3Dです。 編集2 私はこれを実装した方法にまだ完全に満足していませんが、私が向かっているのはUIでイベントをキャッチすることであり、イベントがUIコンポーネントのいずれかによって処理されない場合、イベントをピッキング/選択のための「世界」。何かのようなもの: @Override private boolean handleEvent(Event event) { if(hud.handleEvent(event)) { return true; } return WORLD.handleEvent(event); } この方法では、ボタンの背後にあるオブジェクトを選択するためにUIからクリックが漏れることはありません。 現在、私のカメラコントロールはまだポーリングに基づいており、今のところ機能しているようですが、後で更新する可能性があります。 すべての回答に感謝します。申し訳ありませんが、1つしか選択できません。
19 java  input  events  polling 

12
コードが1回だけ実行されるようにするにはどうすればよいですか?
コードをトリガーする状況が複数回発生する可能性がある場合でも、一度だけ実行したいコードがあります。 たとえば、ユーザーがマウスをクリックしたときに、次のものをクリックします。 void Update() { if(mousebuttonpressed) { ClickTheThing(); // I only want this to happen on the first click, // then never again. } } ただし、このコードでは、マウスをクリックするたびにクリックされます。一度だけそれを実現するにはどうすればよいですか?

3
イベントスケジューラのシングルトンパターンを回避する方法
ゲームのイベントスケジューラを作成したいのですが、基本的にはゲームイベントのトリガーをスケジュールできるようにしたいのです。これは、1回限りのトリガー、または定期的なトリガー(5秒ごとにトリガーイベント "E_BIG_EXPLOSION" ...)になります。 これはシングルトンを使用するのに適した場所かもしれないと思われがちですが、シングルトンは非常に邪悪で、病気のように広がる傾向があります... この場合、シングルトンの使用を避けるためにどのような設計を提案しますか?

3
ゲーム内イベントを管理する最良の方法は?
私は、ゲーム内のイベントが時々起こる必要があるゲームに取り組んでいます。良い例はチュートリアルです。ゲームを開始すると、ゲームのいくつかのポイントでイベントが発生します。 最初の敵に遭遇すると、ゲームは一時停止し、殺す方法についての説明を受け取ります。 あなたは最初の敵を殺した、あなたは「良い仕事」メッセージを受け取ります。 新しいアイテム、アイテムの統計ポップアップ付きのメニューを取得します。 などなど 私が取り組んでいるゲームは、ゲームのルールがほとんど同じパズルゲームです。したがって、これらのすべてのイベントを別々のレベルでハードコーディングするのは非効率的です。 XMLなどの外部ソースでこれらのイベントを何らかの方法で定義する必要がありますか?次に、XMLを読み取り、レベルのイベント要件を設定するインタープリターを作成しますか?たとえば、2人の敵を殺したときに発生するイベントをどのように定義できるかわかりません。 明確にするために、私はこれを行うのに最適なプログラミング言語またはスクリプト言語を探しているのではなく、これを処理する最適な方法を探しています。 ありがとう! 編集: 私の質問が理解するのはかなり難しかったので、2番目の例: 私が抱えている問題は、ゲーム内のいくつかの追加アクションを常にほぼ同じ手順で実行することです。RPGの戦いのように、誰もがターンを持ち、スキルを選択します-それは常に同じです。しかし、中間にカットシーンを表示したい場合はどうでしょう。カットシーンを含めて、変更されたバトルクラスに渡すためにゲーム構造全体を変更することは、非常に効率が悪いようです。私はこれが通常どのように行われるのだろうと思っています。

5
キーボード入力システムの取り扱い
注:API制限(SFML)のためにコールバックを行うのではなく、ポーリングする必要があります。「まともな」タイトルがないこともおizeび申し上げます。 ここで2つの質問があると思います。受け取った入力を登録する方法と、それをどうするか。 入力の処理 たとえば、「A」キーが押されたことを登録したという事実と、そこからそれを行う方法について話します。 私は次のようなキーボード全体の配列を見てきました: bool keyboard[256]; //And each input loop check the state of every key on the keyboard しかし、これは非効率的です。たとえば、「A」キーを「左に移動するプレーヤー」に結合するだけでなく、毎秒30〜60回すべてのキーをチェックします。 次に、必要なキーを探すだけの別のシステムを試しました。 std::map< unsigned char, Key> keyMap; //Key stores the keycode, and whether it's been pressed. Then, I declare a load of const unsigned char called 'Quit' or 'PlayerLeft'. input->BindKey(Keys::PlayerLeft, …

2
イベントハンドラに夢中になることはできますか?私は自分のデザインで「間違った方法」で進んでいますか?
私は、イベントハンドラが本当に好きだと決めたと思います。分析の麻痺に少し苦しんでいるかもしれませんが、デザインを扱いにくくしたり、デザインの決定に対する他の予期せぬ結果にぶつかったりすることを心配しています。 私のゲームエンジンは現在、パンニングオーバーヘッドカメラで基本的なスプライトベースのレンダリングを行っています。私のデザインは次のようになります。 SceneHandler SceneListenerインターフェイスを実装するクラスのリストが含まれます(現在はSpriteのみ)。ティックごとにrender()を呼び出し、onCameraUpdate()を送信します。SceneListenersへのメッセージ。 InputHandler ティックごとに1回入力をポーリングし、単純な「onKeyPressed」メッセージをInputListenersに送信します。SceneHandlerインスタンスを保持し、updateCamera()をトリガーするCamera InputListenerがあります。入力内容に基づいたイベント。 AgentHandler ティックごとにエージェント(AI)でデフォルトアクションを呼び出し、登録されている新しいイベントがないかスタックをチェックし、必要に応じて特定のエージェントにディスパッチします。 そのため、シーン内を移動し、基本的なステアリング動作を使用して移動できる基本的なスプライトオブジェクトがあります。私は衝突の検出に着手しましたが、これは私の設計が進んでいる方向が良いかどうかわからないところです。多数の小さなイベントハンドラを用意するのは良い習慣ですか?ある種のCollisionHandlerを実装しなければならないという自分のやり方を想像する。 AI、衝突の更新、および1つのクラスでの他のエンティティの相互作用を処理する、より統合されたEntityHandlerを使用した方が良いでしょうか?それとも、どんな種類のイベントに基づいてメッセージを相互に渡す多くの異なるイベント処理サブシステムを実装するだけでいいのでしょうか?これらすべてのサブイベントハンドラーを調整するだけの責任を負うEntityHandlerを作成する必要がありますか? InputHandlerやSceneHandlerなど、場合によっては、これらが非常に特殊なタイプのイベントであることを認識しています。ゲームコードの大部分は入力を気にせず、大部分は純粋にシーンのレンダリングで発生する更新を気にしません。したがって、これらのシステムの分離は正当であると感じています。ただし、私はこの質問を具体的にゲームロジックタイプイベントに近づいています。

4
MMOサーバーのゲームログ形式
クラスター/シャード全体のゲームイベントのログ(エラー/デバッグログとは対照的に)は、ライブ運用環境にある商用MMOにとって非常に役立ち、顧客サービスの重要なサポートと履歴分析の手段を提供します。 私が現在取り組んでいるプロジェクトは、リレーショナルデータベースを使用してすべてのゲームイベントログを保存しますが、その方法はうまく機能しますが、ログの読み取り専用、時系列の性質により、より効率的なストレージ形式が可能になるようです。 ただし、カスタムバイナリログ形式の構築について学習を開始する場所がわかりません。カスタムログ形式を作成した経験や、この件に関する推奨論文/記事はありますか?

5
イベント駆動型システムの入れ子になった入力
イベントとデリゲートを使用したイベントベースの入力処理システムを使用しています。例: InputHander.AddEvent(Keys.LeftArrow, player.MoveLeft); //Very simplified code しかし、「ネストされた」入力を処理する方法について疑問に思い始めました。たとえば、Half-Life 2(または実際には任意のソースゲーム)では、でアイテムをピックアップできますE。アイテムを拾ったら、で発砲することはできませんLeft Mouseが、代わりにオブジェクトを投げます。まだジャンプできSpaceます。 (入れ子になった入力とは、特定のキーを押す場所であり、実行できるアクションが変わるものです。メニューではありません。) 3つのケースは次のとおりです。 以前と同じアクションを実行できる(ジャンプなど) 同じアクションを実行できない(発砲など) 別のアクションを完全に実行する(NetHackのように、ドアを開くキーを押すと、移動せずにドアを開く方向を選択する) 私の最初のアイデアは、入力が受信された後でそれを変更することでした: Register input 'A' to function 'Activate Secret Cloak Mode' In 'Secret Cloak Mode' function: Unregister input 'Fire' Unregister input 'Sprint' ... Register input 'Uncloak' ... これは、大量の結合、反復的なコード、およびその他の悪い設計兆候の影響を受けます。 他のオプションは、ある種の入力状態システムを維持することだと思います-おそらく、レジスタ関数の別のデリゲートが、これらの多数のレジスタ/デレジスタをよりクリーンな場所にリファクタリングして(入力システムにある種のスタックがある場合)、または多分守るべきこととすべきでないこと。 ここの誰かがこの問題に遭遇したに違いない。どのように解決しましたか? tl; drイベントシステムで特定の入力の後に受信した特定の入力をどのように処理できますか?

4
ゲームデザインでのフレームごとの関数呼び出しとイベント駆動型メッセージング
伝統的なゲームデザインは、私はそれを知っているように、使用する多型と仮想関数を更新ゲームオブジェクトの状態に。言い換えると、ゲーム内のすべてのオブジェクトで、同じ一連の仮想関数が定期的(例:フレームごと)に呼び出されます。 最近、もう1つ、ゲームオブジェクトの状態を更新するためのイベント駆動型メッセージングシステムがあることを発見しました。ここでは、オブジェクトは通常フレームごとに更新されません。代わりに、非常に効率的なイベントメッセージングシステムが構築され、ゲームオブジェクトは有効なイベントメッセージを受信した後にのみ更新されます。 イベント駆動型ゲームアーキテクチャについては、Mike McShaffryによる「Game Coding Complete」で詳しく説明されています。 以下の質問について、親切にお願いできますか? 両方のアプローチの長所と短所は何ですか? どちらが他より優れているのですか? イベント駆動型ゲームデザインは、すべての分野で普遍的で優れていますか?したがって、モバイルプラットフォームでも使用することをお勧めしますか? どちらがより効率的で、どちらが開発が難しいですか? 明確にするために、私の質問はゲームデザインから完全に多態性を取り除くことについてではありません。私は単に、イベント駆動型メッセージングと仮想関数への通常の(フレームごとの)呼び出しを使用してゲームの状態を更新することの違いとメリットを理解したいと思っています。 例: この質問はここで少し論争を引き起こしたので、例を挙げましょう。MVCによると、ゲームエンジンは3つの主要な部分に分かれています。 アプリケーション層(ハードウェアおよびOS通信) ゲームロジック ゲームビュー レーシングゲームでは、ゲームビューは画面をできるだけ速く、少なくとも30fpsでレンダリングする責任があります。ゲームビューもプレイヤーの入力をリッスンします。今これが起こります: プレーヤーが燃料ペダルを80%まで押した GameViewは「Car 2 Fuel Pedal Pressed to 80%」というメッセージを作成し、それをGame Logicに送信します。 Game Logicはメッセージを取得し、評価し、新しい車の位置と動作を計算し、GameView用に次のメッセージを作成します: "Draw Car 2 Fuel Pedal Pressed 80%"、 "Car 2 Sound Acceleration"、 "Car 2 Coordinates X、Y" .. 。 GameViewはメッセージを受信し、それに応じて処理します

2
ゲームプレイアクションを特定のアニメーションタイミングに同期するための良いテクニックは?
私が取り組んでいるゲームで問題に遭遇しましたが、それはおそらく多くのゲームで登場するかなり基本的なことのようです。 私のゲームでは、キャラクターアニメーションの特定の時点でゲームプレイ機能を実行する必要があります。そして、タイトルが示すように、ゲームプレイ関連のイベント/機能/アクションをキャラクターのアニメーションの特定のポイントに同期するためのいくつかの優れたテクニックと基本的な戦略は何なのかと思っています。 ここでは、さまざまな種類のゲームで私が話していることの簡単な例をいくつか示します。 あなたのキャラクターはシューティングゲームで彼らの銃をリロードします。キャラクターは「リロード」アニメーションを再生しますが、currentAmmo変数を設定する関数は、マガジンが交換されて銃がコックされた直後にのみ呼び出されることが重要です。これは、リロードアニメーションの途中の可能性があります。 では、ターンベースのRPGあなたのキャラクターは敵のラインが直面しているラインに立ちます。攻撃するように命じられると、キャラクターの1人が敵の1人まで走ったりジャンプしたり、立っている場所に走ったりジャンプしたりする前に巨大な剣を斬ったりします。スラッシュアニメーションが再生される正確なタイミングで敵がダメージを受けていることを確認する必要があります。 ではステルスゲーム、あなたのキャラクターがこっそりすることができ、世界でコンピューターとボタンと対話します。多分あなたが浸透している前哨のライトへの電力供給をオフにするボタンがあるでしょう。アクションボタンを押すと、キャラクターが手を伸ばしてボタンを押し、アイドル状態に戻ります。ボタンが押されたときに、「push_button」アニメーションの正確なポイントでライトをオフにしたい。 確かに、私の特定のケースは2番目の例に最も似ています。この例では、攻撃中にターンベースのキャラクターが前方に突進するアニメーションを作成し、アニメーションが接触していると思われる瞬間にダメージを適用したいと考えています。 。私のゲームはターンベースのシステム(ファイナルファンタジーやファイアーエンブレムのようなものを想像してください)を使用しているので、ダメージ/ヒーリング/マジックなどが必要です。実際にコリジョン/ヒットボックスを使用していなくても、各キャラクターアニメーションの正しいタイミングで適用されます。 私は人気のあるゲームエンジンでゲームを作成していること、そして今はアニメーションイベントまたは通知を使用してこれを処理し、望ましい結果に近い何かを達成することを言及しなければなりません-キャラクターが特定のコマンドを実行してトリガーしますコマンド固有のアニメーション(つまり、「attack_command」)と各コマンドのアニメーションアセットには、アニメーションイベントを含める/キャラクターのExecuteCommand関数に「コールバック」を通知する必要があります。言い換えると、キャラクターは攻撃アニメーションに再生を指示し、攻撃アニメーションはダメージが与えられるべきアニメーションの正確な瞬間にイベント/通知コールバックをキャラクターに送信します。 正直なところ、これは今のところ機能しますが、ここでは全体像の一部が欠けているように感じられます。このメソッドが間違っていると感じる理由の1つは、ゲームロジックとアニメーションアセットを結合することです。アニメーションアセットにExecuteCommand()イベント/コールバックを含めるのを忘れた場合、コマンドは正しく実行されず、コマンドを実行せずにコマンドアニメーションが終了したかどうかを確認するには追加のコードが必要です。それは乱雑で、私のゲームプレイがそのアセットに奇妙な依存関係を持っていることを意味します。もちろん、攻撃アニメーションの特定の時点でダメージが発生するようにしたいのですが、アニメーションアセット内のゲームプレイコードを呼び出すのはとても変です。 だから私はここで見落としているものは何ですか?アニメーション中に特定の時間に特定の重要なゲームプレイアクションを発生させたい場合に、このようなタイプの状況を処理するための優れた一般的なテクニックは何ですか? 編集:明確にするために、これはエンジン固有の質問ではなく、エンジン固有の設計/手法も探していません。使用しているテクノロジーに関係なく、ゲームプロジェクトで使用できる一般的なアニメーション/ゲームプレイ同期手法に興味があります。

5
ボードゲームのアイデアをブラウザベースの遅いペースのゲームプレイに変える
グローバルな変更可能な状態をすべてのプレーヤーで共有する戦略ゲームを作成したいとします(ゲームボードを考えてみてください)。しかし、ボードゲームとは異なり、リアルタイムアクションやターンベースにしたくありません。代わりに、プレーヤーは1日のいつでもログインでき、希望どおりに1日あたり一定数のアクションポイントを費やすことができます。数時間ではなく、ゲームセッションは数週間にわたって実行されます。 これは、プレイに費やされた時間(代わりに、ハードコアプレイヤーが常に複数のゲームを並行してプレイできる)ではなく、切断や同期などのライブプレイに関連するあらゆる種類の問題に報いることを目的としています。ゲームは習慣性を維持する必要がありますが、カジュアルプレイヤーにとっては投資時間は短いはずです。 これまでのところ良いですが、これはまだいつの問題か未解決のままですアクションをいつ解決するアクションを表示するです。私は、毎日のポイントリセットの数分前にすべての動きをして他のプレイヤーを驚かせたり、F5をスパムして非リアルタイムのポイント全体を打ち負かすような適切なタイミングでアクションを実行したりするような「忍者の遊び」を避けたいです。タイムゲーム。 私はそれにいくつかのアプローチを考えました: 1日に1回実行される単一のスケジュールされたプロセスですべてのイベントを解決します。これは基本的に、プレーヤーがアクションを実行しても結果がすぐには表示されない「ブラインド」ゲームプレイを意味します。問題は、私が数年前に同様のブラウザゲームをプレイしていて、その期間中に本当に何が起こったのかを説明するdeus ex machinaが見つかるまで、接続が切れて無力だと感じるのが嫌だったということです。あなたは、世界が一日の大きな増分で進化するのを見ます。 ゲームや他のプレーヤーに大きな影響を与えるアクション(攻撃、大きな成果)の場合は、すぐに全員に見えるようにしますが、効果を24時間程度遅らせます。このようなイベントが発生すると、反対のプレーヤーに通知され、それに反応できるようになります。 これを解決する方法を他に考えていますか?同様の既存のゲームに既知のアプローチはありますか?

4
XNA GameComponents間(またはゲーム内の任意のタイプのコンポーネント間)の通信を容易にするためにどのテクニックを使用する必要がありますか?
私は最初の「適切な」ゲームプロジェクトから始めています。必然的に、XNAのゲームコンポーネントがどのように通信するかを決定しようとするブロックにぶつかりました。 以前の(Java)GUIプログラミングイベントから、ハンドラーとリスナーは前に進んだように見えました。ですから、イベントの登録とそれらのイベントにサブスクライブしたクラスを受け入れ、それらを処理するハンドラーを備えた、ある種のイベントバスがあります。例(疑似コード): class SpriteManager Update(){ if(player.collidesWith(enemy) // create new 'PlayerCollisionEvent' } class HUDManager onPlayerCollisionEvent(){ // Update the HUD (reduce lives etc) } ただし、これを完全に達成するために必要なコード設定(C#で)はわかりません。イベントを追跡しているもの(ある種のバス?)とその構造は? ゲームサービスについても多く言及されているようです。これにより、メインのGame.csクラスにGameComponentを登録し、メインの 'Game'オブジェクトへの参照を持つコードの任意の場所からフェッチできます。SpriteBatchオブジェクトでこれを試しましたが、非常に簡単に見えます。しかし、これがイベントモデルほど柔軟ではないことがわかります。 たとえば、敵が死亡した場合を考えてみましょう。ゲームのスコアを更新したい。サービスを使用して、Game1で作成され、サービスとして追加されたStateManagerオブジェクトへの参照を取得し、 'score'を新しい値に設定できます。「onEnemyDeath」イベントはさまざまなクラスで別々に処理できますが、関連する「敵の死の検出」セクションの1行のコードで開始され、必要な各GameComponentを個別にキャストしてから何でも呼び出すよりも良いと思いますメソッドが必要です。 それとも、これらは他の戦略よりも劣っていますか? これは、ゲーム通信のパラダイムと同じくらい、私のC#知識が不十分であることの一部だと思いますが、この基本的なことを正しくしたいのですが。 更新 サービスを確認したことの方が詳細であると私は確信していません。これは、基本的に(私が理解しているところから)グローバル変数を渡すことです。 アップデート2 イベントの処理とサンプルコードのテストに関するこの基本的なチュートリアルを見てきたので、私が議論しているのはイベントが論理的な選択になると思われます。しかし、私が見たサンプルでそれを使用することはあまりできません。すべきでない明白な理由はありますか?

4
イベントマネージャシステムを設計する際に考慮すべきことは何ですか?
私はJavaゲームエンジンの基本をいじくり回しており、イベントマネージャーシステムに追加する準備ができたところに到達しました。 理論的には、イベントマネージャーがすべきことはわかっています。特定のイベントにオブジェクトを「登録」できるようにし、イベントマネージャーがイベントの通知を受けるたびに、イベントを「登録済み」リスナーにブロードキャストします。私が困惑しているのは、それを実装し始める方法です。 イベントシステムを最初から実装することについて、オンラインで何も見つけることができなかったので、この場合のベストプラクティスとは何か、私がすべきこととすべきでないことについてのインプットを探しています。 たとえば、ゲームオブジェクトごとにEventManagerフィールドが本当に必要なのでしょうか。すべてのゲームオブジェクトは単一の抽象親クラスを継承しているため、静的参照を使用して、すべてのゲームオブジェクト間で共有されるイベントマネージャーのインスタンスが1つだけになるようにする必要があります。アプレットを使って、各オブジェクトのレンダリングにすでに使用しているのと同じようなことをしています。 可能なサブスクライブイベントごとに、ある種のコレクションを維持する必要があると思います。必要に応じて、リストにゲームオブジェクトを追加したり削除したりします。ブロードキャストする必要があるイベントのキューを作成することは可能だと思います。その場合は、メインのゲームループに「EventManager.Update()」を追加し、Update()メソッドが最後に発生したイベントをブロードキャストするようにすることができます各フレームの。最後に、各オブジェクトにはHandleEvent(Event e)メソッドがあり、それらを適切に解析して応答することができます。 これは、そのようなシステムの実装に向けた適切な方向性のように聞こえますか、それとも、軌道から外れているのか、および/または非常に明白なものがないのですか?
9 events 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.