2011-10-20 15 views
1

私は似たようなカップルの質問があることを知っていますが、残念ながら私の言うところまでは私の問題の答えには至っていません。私はいくつかの自由な時間を持っていた時はいつでも過去のカップルの夜オーバー jQuery Collision Plugin for game character/div

は、私は少しあなたが移動するスニペット/例 here(WASDを見ることができるゲームの種類、作成をいじってきた - 注意:それが交差していませんブラウザは互換性があります)

私はjQuery Collisionというプラグインを使用していますが、これは理論的にはやりたいことですが、与えられた例はマウスでドラッグ可能なオブジェクトで行われていますが、それを私の実験に加える。

私はこれを私の 'W'キーに追加して、プレイヤーが障害物に衝突したときに障害物を取り除かなければならないと言っています。

if ($("#player").collision("#obstacle")) { 
     $("#obstacle").remove(); 
    } 

現在、障害物が取り除かれているが、あなたは(アップ)障害物を押すWの下にプレーヤーを配置する場合、いくつかの回が突然、箱がプレーヤーや障害物がまだ衝突していなくても、削除されます。

また、私は私も働いて得ることができませんでしたデモの中で見てきた他の方法試してみた:

var collided = $("#player").collision("#obstacle"); 

    if (collided.length > 0) { 
     $("#obstacle").remove() 
    } 

誰も私が間違ってやっているものにいくつかの光を当てるだろうか?

NOTE

私はgameQueryのようにそこにプラグインがある承知しているので、私はちょうど代わりに:)

答えて

0

ドラッグ処理するために作られたプラグインを試してみてくださいすることを使用してお勧めしないでください。

http://sourceforge.net/projects/jquidragcollide/

元はドラッグすると、divの現在の位置は、あなたが離れるまでまだ更新されていないという事実に悩まされています。これは静的な衝突チェッカーを意図していました。あなたが例を注意深く見れば:

http://eruciform.com/jquerycollision/

...あなたはドラッグすると、「オーバーラップ」の背後にある一つのフレームである、ということがわかります。モジュールの意図された使用が何であるかについて仮定しないために、jQueryがdivの位置をどのような座標で指定しているかを使用していました。それで、私はドラッグ追加プラグインを作ったのです。それはドラッグ中の "衝突回避"のような多くの鐘や笛を持っています。