問題タブ [box2dweb]
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 - box2dweb.js の ApplyForce
作成したボディに力を加えようとしています。しかし、私はそれを正しく理解できないようです。これは私が作成しているボディです:
体を左に動かす力を加えたい。現在、私はこれを試しています:
これは何もしていません。私は何を間違っていますか?
javascript - Box2dweb 移動禁止
box2d でオブジェクトを作成し、キーボード入力を使用して移動しています。次にやりたいことは、この体が持つことができる垂直方向の動きを止めることです. つまり、別のオブジェクトとの衝突が発生した場合でも、左右には移動できますが、上下には移動できません。
ボックスを作成するための私のコード:
キーボード入力:
そして、ボディ配列の「プレーヤー」という名前のボックスが移動される私の更新機能
だから私は自分の体[「プレーヤー」]の体で発生する可能性のあるすべての垂直方向の動きを禁止したいのですが、どうすればよいでしょうか。
現在、プリズム ジョイントを使用していますが、ボディの 1 つをスタティック ボディにしようとするとエラーが発生します。
ボディの作成["左"]:
javascript - box2dweb でゴースト衝突を回避する方法
box2dweb を使用してゲームを作成していますが、ゲームの地面を不均一にしたいと考えています。ただし、box2dweb は最新ではなく、ゴースト コリジョンを修正するためのエッジ チェーンはまだ含まれていません。
現在、私の地面は次のようになっています: http://gyazo.com/db00ef9f6bda6bfc48fd733509af8b1c.png
これは b2polygon エッジで構成されていますが、エッジが交わるポイントにはまだゴースト衝突があります。長方形の角を切り取ったり、形状を円に変更したりせずに、ゴーストの衝突を防ぐ方法は他にありますか?
box2d - 衝突後、オブジェクトの速度を一定に保つ
いくつかのサークルが動き回っています。linearVelocity
各円の を設定します。しかし、それらが衝突すると、速度が変化します。場合によっては、速度の垂直成分、水平成分、またはその両方がゼロになり、円が動かなくなることがあります。
すべてのボディの反発係数が同じで、重力がなく、角度減衰と線形減衰がゼロです。
ただし、円の半径は変化します。同じ半径の円が衝突するときも速度に変化があります。
javascript - オブジェクトを作成するのに苦労している場合は、box2dwebで常にマウスをフォローしてください
box2dwebの使用方法を学習しようとしていますが、ドラッグするときだけでなく、常にオブジェクト(この場合は円)をマウスの後に表示させたいと考えています。サークルがパドルであるエアホッケータイプのゲームに使用できるというアイデアです。
ただし、円はそれ自体をマウスに適切にアタッチしません。代わりに、マウスカーソルがあるポイントを中心にスイングし、オブジェクトの1つがマウスカーソルである場合の距離ジョイントのように動作します。
何が間違っているのかわかりませんが、まだ慣れていないので、助けていただければ幸いです。
私がこれまでに持っているコード(デモコードに基づく)はここで見ることができます:http://jsbin.com/ejafoj/1/edit
javascript - オブジェクトがプリズムジョイントに固定されていないのはなぜですか
ランダムなオブジェクトの束を作成し、それらを角柱状のジョイントで固定されたボディ(円)に拘束しています。目標は、それらをその固定された円に向かってスライドさせることです。
問題は、オブジェクトが固定されていないように見えるため、オブジェクトがジョイントのエッジから落ちていることです。
私は何が間違っているのですか?
jsフィドル: http: //jsfiddle.net/Jk5VD/7/
js :(ジョイントコードについてはPhysics.prototype.connectToCenterWithJointに直接アクセスしてください)
javascript - easyJS - 決定されたアクションでより低い FPS をシミュレートする
上記のように繰り返されるフレームを作成する方法があります。
ヒット時に各フレームを 2 回繰り返して、ヒット時の FPS をシミュレートします。
javascript - JavaScriptでメモリからオブジェクトを削除するにはどうすればよいですか?
EaselJS と Box2DWeb を使用して、矢を射るゲームを作成しています。矢が別の物体に衝突するたびに矢は消滅し、この関数を呼び出します。
そして removeActor 関数:
矢印を連続して作成し、メモリが解放されたかどうかを確認しようとしましたが(chromeタスクマネージャーを使用)、使用されるメモリは増加するだけです。これらのオブジェクトをメモリから完全に削除する方法はありますか?
box2d - box2dweb と kineticjs: 更新率が低い
皆さん;)
box2dweb と kineticjs で基本的なアニメーションを作成しています。どちらのフレームワークも素晴らしいです。これは私がやっていることのプレビューです: http://lab.devgf.com/boxkinetic/index_v.htm
Google Chrome または Safari (デスクトップ) で表示すると、非常にうまく機能します。最大60fps。このページを iPad の Safari で読み込むと、問題が発生します。
iPad mini または iPad 2 (または iPad 1) を使用すると、「許容できる」速度で動作します。Adobe DPS 内でも。しかし、iPad が Retina モデルの場合 (または iPhone 5 の場合)、速度はありません。それはひどい、「フリーズ」のように見えます。
誰かが私を助けることができますか?デスクトップまたは Retina ディスプレイ デバイスなしで動作するようにするには、適切なフレームレート (または KineticJS ループ内の別のアプローチ) を取得するにはどうすればよいですか?
私が使用する box2dweb のメイン コードは、次のファイルにあります: http://lab.devgf.com/boxkinetic/js/tgf/gfbox2d.js
KineticJS のメイン コードは次のとおりです: http://lab.devgf.com/boxkinetic/js/Main.js
どんな助けでも大歓迎です。
ありがとうございました。
android - Box2Dweb を HTML5 キャンバスで使用するのではなく、ネイティブの Android ゲームで Box2D を使用することは大きな違いですか?
Android のコンテナーにボールが落ちるシミュレーションを作成する必要があります。最初に、HTML5 キャンバスで Box2Dweb を使用してみましたが、3 つのソリッド ボディと 50 個のボールを使用すると、Firefox を使用するデスクトップ コンピューターでも非常に遅くなります (不思議なことに、Chrome では非常にうまく動作します)。これがライブデモです。
そして、ここにコードがあります。
私の質問は、Android キャンバス (HTML5 のものではない) と Box2D を使用してネイティブ実装を作成するとどうなるかということです。ボールのスムーズな動きを実現できますか?
そして、隠れたヒントは次のとおりです。パフォーマンスが非常に悪いのは、描画のせいですか、それとも非常に多くの物理計算のせいですか? 通常、物理計算が関係している場合、ネイティブに移行するとどの程度のパフォーマンスを獲得できますか?