0
タイル(マップ上のオブジェクト)は、ワンタッチで色を変え、カメラをパンまたはズームすると変わらないようにします。私は2日間試していて、自分自身をグーグルで探そうとしていて、それを理解できないようです。それはかなりシンプルなようです。Unity Input.touches - 押されたままにしておく遅延のアクション
私はこれを修正するためのコードを与えられましたが、元のコードが触れるにはあまりにも敏感なので、時間の遅れを追加する必要があります。私は「あれば(タッチ時間が> 200msの)他の{何もしない} {ものを行う}またはそのようなことを考えていた
ここで私は気圧持っているものです。
bool onlyTouched;
void Update()
{
if (Input.touchCount > 0)
{
Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
RaycastHit hitInfo;
if (Input.GetTouch(0).phase == TouchPhase.Began)
{
onlyTouched = true;
}
if (Input.GetTouch(0).phase == TouchPhase.Moved)
{
onlyTouched = false;
}
if (Input.GetTouch(0).phase == TouchPhase.Ended)
{
if (onlyTouched)
{
if (Physics.Raycast(ray, out hitInfo))
{
GameObject ourHitObject = hitInfo.collider.transform.parent.gameObject;
if (ourHitObject.GetComponent<Hex>() != null)
{
Touch_Hex(ourHitObject);
}
else if (ourHitObject.GetComponent<Unit>() != null)
{
Touch_Unit(ourHitObject);
}
}
}
onlyTouched = false;
}
}
}
おかげで進歩
それはあまりにも敏感であるとはどういう意味ですか?私はあなたがワンクリック/タッチで色を変えたいと思っていました... – Programmer
ええと、そのコードは機能しますが、タッチ式携帯電話などでタッチすると色が変わることはありません。タイルあなたはあなたのタッチで本当に繊細でなければならず、子供などと一緒にはできないだろう – Fogazi