問題タブ [craftyjs]
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.
javascript - CraftyJS/Chrome が同時キー押下イベントの数を制限するのはなぜですか?
CraftyJS を使用してゲームを開発しようとしています。私は使用しています
- クラフティ 0.7.1
- クローム 50.0.2661.94
- ウィンドウズ10
- 2016 デル XPS15。
キーボード イベントの処理方法に奇妙な点があることに気付きました。これの多くは Chrome や、おそらく私の物理キーボードに関係していると思います。Crafty は、API を使用しているという点でのみ関連しています。
まず、これが私の SSCCE です。このコードは、キーが押されたときにキー配列にキーを追加し、離されたときにキーを削除し、1 秒ごとに配列をログアウトします。
私はいくつかの奇妙な動作に気づいています:
まず、Crafty は、左右両方の手で入力できない限り、一度に 4 つの文字キーの押下しか認識しないようです。たとえば、ASDFE を一度に押し続けると、次
[65, 83, 68, 70]
のようになります。 E キーをどれだけ叩いても、認識されないままです。しかし、たとえば ASDFJKL を押したままにすると、次のように表示されます[65, 83, 68, 70, 74, 75, 76]
。3 番目の矢印キーが下矢印でない限り、一度に認識される矢印キーは 2 つだけです。たとえば、LEFT、UP、RIGHT を押すと、次のようになります。
[37, 38]
ただし、LEFT DOWN RIGHT を押すと、次のようになります。[37, 39, 40]
いったいこれで何が起こっているのですか?私の推測では、私の指と私の JS の間の誰かが、誤ったキーの押下 (タイプミス) を巧みに修正しようとしているのですが、誰なのかはわかりません。
編集:これらのキーボードイベントの送信に失敗しているのは、キーボード自体(またはOS)であると思われます。しかし、私はまだこれを確認する良い方法を探しています.
javascript - GET 要求で JSON ファイルが返されない
私は Craftyjs ゲーム エンジンを使用しており、html に正しく接続されている public ディレクトリにある javascript ファイルで、次のような JSON ファイルを要求しています。
コンソールに 404 エラーが表示されます。
ここにファイルディレクトリがあります。public/ の下にあるものはすべて直接リクエストできます。
jQuery はバックグラウンドでリクエストを行っています。
JSON ファイルが見つからないのはなぜですか? どうすれば修正できますか?
「jsonファイルのNode GETリクエストが機能しない」という質問を調べましたが、作業中のファイルにノードがありません。
リクエストはサーバーに送られます(ローカルファイルシステムに送られるのではありません)。
javascript - Craftyjsエンティティが狡猾な領域から落ちたかどうかを確認する方法は?
たとえば、この場合、最後のエンティティであるヒーローが狡猾な初期化の領域から出たことを示すアラートを取得するにはどうすればよいですか?
javascript - vue.js - craftyjs クリックが機能しない
次のコードがありますが、何も起こりません。
何か不足していますか?
編集:
回答を使用したコード例:
craftyjs - Crafty.js のカスタム コンポーネント
Crafty.js は初めてです。私は現在、このフレーム ワークを使用して 2D トップダウン RPG に取り組んでいます。ヘルス、マナ、名前などのユニットの情報を含むカスタム コンポーネントを作成しようとしています。コンポーネントのコードは次のとおりです。
次に、このコンポーネントを、私の場合は敵エンティティであるユニットに追加しました。
コードを実行すると、次のエラーが表示されます。
「ランダムメッセージ」がコンソールログに表示され、フレームごとに実行されているため、 unitinfo() は適切に機能していると思います。「これ」が未定義として認識される理由がわかりません。誰かがこれについて私を助けることができますか?