小编ran*_*ing的帖子

找到连接两个移动物体的矩形的 4 个角

我正在尝试在两点之间画一条线,我正在sf::VertexArray shape(sf::Quads, 4);为此使用。

这是我的整个draw功能:

void Stick::draw(sf::RenderTarget& target, sf::RenderStates states) const {
sf::VertexArray shape(sf::Quads, 4);

sf::Vector2f p1Pos = this->p1->getPosition();
sf::Vector2f p2Pos = this->p2->getPosition();

shape[0].position = sf::Vector2f(p1Pos.x + 10.f, p1Pos.y + 10.f);
shape[1].position = sf::Vector2f(p1Pos.x - 10.f, p1Pos.y - 10.f);
shape[2].position = sf::Vector2f(p2Pos.x - 10.f, p2Pos.y - 10.f);
shape[3].position = sf::Vector2f(p2Pos.x + 10.f, p2Pos.y + 10.f);
shape[0].color = sf::Color::Green;
shape[1].color = sf::Color::Green;
shape[2].color = sf::Color::Green;
shape[3].color = sf::Color::Green;
target.draw(shape, states);
}
Run Code Online (Sandbox Code Playgroud)

p1Posp2Pos是点的中心坐标。

这给我带来的是一条显然不适用于移动物体的线,因为矩形的角点是固定的,这里有一些例子:(红点不移动,而白点在本例中)

例子 实施例2

我想实现一个解决方案,以便“棒”(矩形)无论两点的位置如何都可以工作,稍后我将为棒添加某种 onClick …

c++ math sfml

2
推荐指数
1
解决办法
222
查看次数

你到底应该从 redux slice reducer 返回什么?

今天我有一个错误,useSelector当我的 redux 状态改变时,我正在使用的组件不会重新渲染。快速阅读createSlice文档后,我注意到他们正在返回state.something = action.payload,而我没有这样做。

所以在这段代码中:

const personSlice = createSlice({
  name: "person",
  initialState,
  reducers: {
    setToken: (state, action) => {
      state.token = action.payload;
    },
    setUser: (state, action) => {
      state = { ...state, ...action.payload };
    },
  },
});
Run Code Online (Sandbox Code Playgroud)

当我设置令牌时,我的应用程序会更新并且运行良好。但是在分派setUser动作之后,我依赖于person状态的组件没有被重新渲染。但是为什么当我设置令牌而不返回时它会起作用?

我把我的代码改成这样:

const personSlice = createSlice({
  name: "person",
  initialState,
  reducers: {
    setToken: (state, action) => {
      state.token = action.payload;
    },
    setUser: (state, action) => {
      return state = { ...state, ...action.payload }; …
Run Code Online (Sandbox Code Playgroud)

reactjs redux redux-toolkit

1
推荐指数
1
解决办法
294
查看次数

标签 统计

c++ ×1

math ×1

reactjs ×1

redux ×1

redux-toolkit ×1

sfml ×1