我了解如何移动对象,例如:
int a(5), b(6);
int c(std::move(a)); // move constructor
c = std::move(b); // move assignment
我理解自定义移动构造函数的常见实现(它获取动态指针的所有权,并将从指针移动到nullptr)。
但是,我还没有找到任何关于移动动态分配指针本身的信息。我需要确认以下代码是合法的:
int *p(new int(42));
int val(std::move(*p));
delete p; // I think this is no longer necessary. Is i
我有一个移动平台,它有运动学的RigidBody2D。我有我的播放器,他也有一个动态的RigidBody2D。我手动将玩家放到平台上,当平台移动时,我希望玩家也跟着移动。然而,我看到球员的变形正在更新,但我实际上并没有看到他在游戏中移动。难道父母的教养不应该强迫我的玩家跟着它移动吗?此外,我注意到,如果我将播放器更改为运动学或关闭刺激,它可以正常工作,但这不是一个选项,因为我仍然希望我的播放器表现得像一个动态对象。我使用以下代码更改了平台的速度,从而移动了平台
this.GetComponent<Rigidbody2D>().velocity = new Vector2(5