Tobii EyeXで図形判定
funky_miyabi  2016/02/10(Wed) 14:31
私はTobii EyeXを利用していて、
https://github.com/Reputeless/Siv3D-Reference/blob/master/Tutorials/Geometry2D.md
に載っている図形当たりの判定と組み合わせて視線を向けた図形の色を変化させることをしています。

とりあえず判定することはできたのですが、視線を外すとまた元の色に戻ってしまうのをどうにかしたいです。
一度視線を向けて色を変化させたらプログラムを終了させるまでそのままの色で維持したいです。
どうしたらいいか教えていただけるとありがたいです。

ちなみに書いたプログラムはこんな感じです↓

#include <Siv3D.hpp>

void Main()
{

Window::SetVirtualFullscreen(Window::GetState().screenSize);

if (!TobiiEyeX::Start())
{
return;
}

EyeXState state;

Vec2 pos(0, 0);

const Rect rect(20, 20, 200, 100);

while (System::Update())
{

if (TobiiEyeX::HasNewState())
{
TobiiEyeX::GetState(state);

pos = state.clientGazePos;
}

Circle(pos, 20).draw(Palette::White);

const bool r = pos.intersects(rect);
rect.draw(r ? Palette::Red : Palette::Yellow);

}
}


よろしくお願いします。
記事編集
Reputeless  2016/02/11(Thu) 08:54
視線が重なったら true になるような bool 型の変数をメインループ while(System::Update()) の前に用意し、その変数が true なら色を変えるようにします。
編集
funky_miyabi  2016/02/15(Mon) 01:58
ありがとうございます。
編集
件名
Re: Tobii EyeXで図形判定
名前
コメント
画像添付


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

- WEB PATIO -