LineStringで定義されたLineの点を移動したい
dotto  2018/11/22(Thu) 11:33
LineStringで定義されたLineの指定した点を移動させようと思い、
次の方法を使っているのですが、

line.point(target[0]).set(Mouse::Pos());

マウスをすばやく動かすと
Out of Rangeを吐いて止まってしまいます。

どのように直せばよいのでしょうか。
記事編集
dotto  2018/11/22(Thu) 14:23
line.point(1).set(Mouse::Pos());

上のように指定した場合には大丈夫なのですが、
targetの方法がだめなのでしょうか?

targetの部分を載せて置きます。

double target[2] = { -1, 1000000.0 };
for (size_t i = 0; i < line.num_points; ++i)
{
distance = Line(pos, line.point(i)).length();
if (target[1] > distance && distance <= 50)
{
target[1] = distance;
target[0] = i;
}
}
if (target[0] != -1)
{
player.setPos(line.point(target[0]));
}

if ((Input::MouseL.clicked || (EyeState.userPresence == false && bo_inputUse == false && closetri == true)) && target[0] != -1) {
bo_moveing = !bo_moveing;
}
else if (EyeState.userPresence == true && closetri == false) {
closetri = !closetri;
}

if (bo_moveing) {
line.point(target[0]).set(Mouse::Pos());
}
編集
dotto  2018/11/22(Thu) 14:28
原因わかりました。
すいません。
編集
件名
Re: LineStringで定義されたLineの点を移動したい
名前
コメント
画像添付


投稿修正キー (投稿を修正する時に使います)
画像認証 (右画像の数字を入力) 投稿キー

- WEB PATIO -