Uses Physicsにチェックが入ってるとオブジェクト側で設定したfixtureがバインドされます。 そこから新たにコード上で用意したfixtureをバインドすると二つのfixtureがバインドされた状態になります。 fixtureは複数バインドすることが可能ですので現状だと複数のfixtureがバインドされている状態になっていると予想します。 どうしても、コード上で独自に用意したfixtureを用意する場合はUses Physicsのチェックを外し、物理変数を全部指定しないといけないっぽいです。 めんどくさいですが、次のようにするとよいかもしれません。
var fixture = physics_fixture_create(); physics_fixture_set_box_shape(fixture,32,32); physics_fixture_set_density(fixture,0.5); physics_fixture_set_restitution(fixture,0.5); physics_fixture_set_collision_group(fixture,1); physics_fixture_set_linear_damping(fixture,0.1); physics_fixture_set_angular_damping(fixture,0.1); physics_fixture_set_friction(fixture,0.2); physics_fixture_bind(fixture,self); physics_fixture_delete(fixture);
また、set_restitutionにはややこしいですが二つの関数があります。 ・physics_fixture_set_restitution ・physics_set_restitution
physics_fixture_set_restitutionは上の例のように作成したfixtureのrestitutionを変更する関数です。 physics_set_restitutionはすでにバインドされたfixtureのrestitutionを変更する関数です。 physics_set_restitutionの使い方は次の通りです。
var fixture = physics_fixture_create(); physics_fixture_set_box_shape(fixture,16,16); physics_fixture_set_density(fixture,0.5); physics_fixture_set_restitution(fixture,0.5); physics_fixture_set_collision_group(fixture,1); physics_fixture_set_linear_damping(fixture,0.1); physics_fixture_set_angular_damping(fixture,0.1); physics_fixture_set_friction(fixture,0.2); var bindFixture = physics_fixture_bind(fixture,self); physics_fixture_delete(fixture); physics_set_restitution(bindFixture,0.1)
physics_fixture_bindの戻り値を利用してバインドされたfixtureを取得し、そのfixtureのrestitutionを変更します。 バインド済みなので再バインドする必要がありません。
不適切なコンテンツとして通報するには以下の「送信」ボタンを押して下さい。 管理チームへ匿名通報が送信されます。あなたが誰であるかを管理チームに特定されることはありません。
どのように不適切か説明したい場合、メッセージをご記入下さい。空白のままでも通報は送信されます。
通報履歴 で、あなたの通報と対応時のメッセージを確認できます。
マニュアル(ver2~2.2.x) マニュアル(ver2.3~) YoYoGames YoYoGames 公式コミュニティ GM関連のYoutubeチャンネル集 解説・資料サイト集(日本語) 解説・資料サイト集(英語)
Uses Physicsにチェックが入ってるとオブジェクト側で設定したfixtureがバインドされます。
そこから新たにコード上で用意したfixtureをバインドすると二つのfixtureがバインドされた状態になります。
fixtureは複数バインドすることが可能ですので現状だと複数のfixtureがバインドされている状態になっていると予想します。
どうしても、コード上で独自に用意したfixtureを用意する場合はUses Physicsのチェックを外し、物理変数を全部指定しないといけないっぽいです。
めんどくさいですが、次のようにするとよいかもしれません。
また、set_restitutionにはややこしいですが二つの関数があります。
・physics_fixture_set_restitution
・physics_set_restitution
physics_fixture_set_restitutionは上の例のように作成したfixtureのrestitutionを変更する関数です。
physics_set_restitutionはすでにバインドされたfixtureのrestitutionを変更する関数です。
physics_set_restitutionの使い方は次の通りです。
physics_fixture_bindの戻り値を利用してバインドされたfixtureを取得し、そのfixtureのrestitutionを変更します。
バインド済みなので再バインドする必要がありません。