Unity2DのチュートリアルをInputSystemに書き換える(4)
EnhancedTouch + LineRenderer
ここ参考に指でなぞったところ(というか、始点と現在位置)に線を引きたい。
という事で同じようにしてやってみた。
まずは空のオブジェクトを作って(今回はプレハブ化してみた)、スクリプトをセット。
void Update()
{
// 二本指でタッチは考慮しない。Vector2から3へは自動変換みたいなので気にしない。
foreach (var touch in Touch.activeTouches){
switch (touch.phase){
case TouchPhase.Began:
Vector2 cameraPosition1 = touch.screenPosition;
startPos = Camera.main.ScreenToWorldPoint(cameraPosition1);
//ラインの起点設定
renderer.positionCount = 1;
renderer.SetPosition(0, startPos);
break;
case TouchPhase.Moved:
Vector2 cameraPosition2 = touch.screenPosition;
pos = Camera.main.ScreenToWorldPoint(cameraPosition2);
rendererPositions=true;
break;
case TouchPhase.Ended:
renderer.positionCount = 0;
rendererPositions=false;
break;
}
}
// 元のマウスの方も微妙に修正
if (Input.GetMouseButtonDown(0))
{
//タッチ位置取得
Vector3 cameraPosition = Input.mousePosition;
cameraPosition.z = 10.0f;
startPos = Camera.main.ScreenToWorldPoint(cameraPosition);
//ラインの起点設定
renderer.positionCount = 1;
renderer.SetPosition(0, startPos);
}
else if (Input.GetMouseButton(0))
{
//タッチ位置取得
Vector3 cameraPosition = Input.mousePosition;
cameraPosition.z = 10.0f;
pos = Camera.main.ScreenToWorldPoint(cameraPosition);
rendererPositions=true;
}
else if (Input.GetMouseButtonUp(0))
{
renderer.positionCount = 0;
rendererPositions=false;
}
// ラインレンダラーに座標を設定し線を描画
if (rendererPositions)
{
renderer.positionCount = 2;
renderer.SetPosition(1, pos);
}
}
}
とりあえずタッチ操作もある程度出来たので満足
Author And Source
この問題について(Unity2DのチュートリアルをInputSystemに書き換える(4)), 我々は、より多くの情報をここで見つけました https://qiita.com/DiveMasakazu/items/2c0ae3e85ee47c93558e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .