我正在做一个2d自上而下的子弹地狱游戏,并希望得到一些帮助让子弹从墙上反弹。变量运动是子弹矢量2,标签边界是赋予墙壁的标签。我从不同的测试中知道,触发器的工作方式应该如此(因此当它撞到墙壁时它会激活),但是机芯不会反射,它会继续向同一方向移动。
编辑:我将vector3.reflect更改为vector2,但仍无法正常工作。
#include <iostream>
#include <string>
#include <vector>
void getSums(int sum, std::vector<std::string>& results, std::string currSum) {
if (0 == sum) {
results.emplace_back(currSum.c_str());
return;
} else if (sum < 0) {
return;
} else {
getSums(sum-2, results, currSum+"1");
getSums(sum-1, results, currSum+"0");
}
}
std::vector<std::string> getAllSums(int sum) {
std::vector<std::string> results;
std::string currSum;
getSums(sum, results, currSum);
return results;
}
int main() {
std::vector<std::string> res = getAllSums(5);
for (std::string& r : res) {
std::cout << r << std::endl;
}
}
答案 0 :(得分:0)
它可能很简单但是看看使用Vector2.Reflect,因为你正在使用2D来做其他事情。
我发现这篇帖子可能有所帮助。 Unity - how to use Vector2.Reflect()