使用されている Box2D のライブラリはこちらのことでしょうか?
■ Box2DWeb
https://github.com/hecht-software/box2dweb
console.log(body1_position.Add(body1_vec))がundefiedを返してきます。
試したところ、Add()
メソッドは値を返さず、body1_position
変数自身に足された値が設定されるようでした。
■ テストコード
https://jsfiddle.net/cx20/06rm18du/
javascript
1var b2World = Box2D.Dynamics.b2World;
2var b2Vec2 = Box2D.Common.Math.b2Vec2;
3var b2BodyDef = Box2D.Dynamics.b2BodyDef;
4var b2Body = Box2D.Dynamics.b2Body;
5
6world = new b2World(new b2Vec2(0, 10), true);
7let body1_angle = 0;
8let body1_vec = new b2Vec2(100 * Math.cos(body1_angle), 100 * Math.sin(body1_angle));
9let bodyDef = new b2BodyDef();
10bodyDef.type = b2Body.b2_staticBody;
11let body1 = world.CreateBody(bodyDef);
12let body1_position = body1.GetPosition();
13
14console.log("body1_position : [" + body1_position.x + ", " + body1_position.y + "]");
15console.log("body1_vec : [" + body1_vec.x + ", " + body1_vec.y + "]");
16console.log("body1_position.Add(body1_vec) : [" + body1_position.Add(body1_vec) + "]");
17console.log("body1_position : [" + body1_position.x + ", " + body1_position.y + "]");
■ テスト結果
body1_position : [0, 0]
body1_vec : [100, 0]
body1_position.Add(body1_vec) : [undefined]
body1_position : [100, 0]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/17 07:57
2021/11/17 12:55