2016-05-29 12 views
0

オブジェクトが壁に衝突した場合、オブジェクトは通過できませんが、スプライトの一部は可能です。壁が右にあるとき、衝突はうまくいきますが、別の方法から近づくと、オブジェクトの一部が衝突します。ゲームメーカのオブジェクトの一部が衝突している間に他のオブジェクトが衝突する

私はオブジェクトごとに異なる衝突コードを持っているので、おそらく問題ではありません。この理由は、異なるオブジェクトが衝突に対して異なって反応し、それらも異なる動きをするためです。

ユーザー

hor = keyboard_check(ord("D"))-keyboard_check(ord("A")); 
ver = keyboard_check(ord("S"))-keyboard_check(ord("W")); 
if (place_meeting(x+(hor * sp),y,Object_Wall)) 
{ 
    while (!place_meeting(x+sign(hor * sp),y,Object_Wall)) 
    { 
    x += sign(hor); 
    } 
    hor = 0 
} 
if (place_meeting(x,y+(ver * sp),Object_Wall)) 
{ 
    while (!place_meeting(x,y+sign(ver * sp),Object_Wall)) 
    { 
    y += sign(ver); 
    } 
    ver = 0 
} 
x += hor * sp; 
y += ver * sp; 

ランダムに周りにローミングすると(壁のイベントとの衝突)

move_towards_point(random(room_width),random(room_height),sp) 
time = random_range(50,150) 
壁を打った後、徒歩なければならない敵のコードによって制御されている私の性格のイベント

プレイヤーを追いかけている間だけ敵の問題が発生するので、キャラクターの衝突はおそらく問題です。

修正方法についてのヘルプはありますか? (、それらをしてください投稿、しかし、彼らに最初Minimal, Complete, and Verifiable Exampleを作る)、衝突の状態を確認するときには、おそらくバグを持っているが、あなたのスプライトとあなたのコードの定義を見ることなく、あなたの正確な問題を特定するのは難しいです

答えて

0
  1. 文章について:「私はさまざまなオブジェクトに対して異なる衝突コードを持っているので、おそらく問題ではありません。」 - まあ、これは実際にはの問題です。同じタスクに異なるコードを使用するのはなぜですか?あなたは問題を尋ねています...そして、それはあなたが今問題を見る理由かもしれません(実際の衝突チェックコードは、あなたが思っているものではありません...)。
関連する問題