예제 #1
0
    // Update is called once per frame
    void Update()
    {
        if (OnTouchDown())
        {
            Vector2 tapPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);//スクリーンから見たマウスの座標を得る
            //コライダーを持つオブジェクト=クリックされた場所の座標
            Collider2D collider = Physics2D.OverlapPoint(tapPoint);

            //変更:コライダーが取得出来た時だけ処理する
            if (collider == thiscol)
            {
                Debug.Log("Buyタップされました");
                ydc.Rise_rate(10);
            }
        }

        //スマホ向け そのオブジェクトがタッチされていたらtrue(マルチタップ対応)
        bool OnTouchDown()
        {
            if (Input.GetMouseButtonDown(0))
            {
                return(true);
            }

            // タッチされているとき
            if (0 < Input.touchCount)
            {
                // タッチされている指の数だけ処理
                for (int i = 0; i < Input.touchCount; i++)
                {
                    // タッチ情報をコピー
                    Touch t = Input.GetTouch(i);
                    // タッチしたときかどうか
                    if (t.phase == TouchPhase.Began)
                    {
                        //タッチした位置からRayを飛ばす
                        Ray        ray = Camera.main.ScreenPointToRay(t.position);
                        RaycastHit hit = new RaycastHit();
                        if (Physics.Raycast(ray, out hit))
                        {
                            //Rayを飛ばしてあたったオブジェクトが自分自身だったら
                            if (hit.collider.gameObject == this.gameObject)
                            {
                                return(true);
                            }
                        }
                    }
                }
            }
            return(false); //タッチされてなかったらfalse
        }
    }
예제 #2
0
    public void OnClick(int no)

    {
        Debug.Log(no);
        switch (no)//ボタン処理(売買処理)
        {
        //ドル買い処理
        case 0:
            if (ydc.ConfirmRate() < 0)
            {
                break;
            }
            if (SController.ConfirmS() > TRILLION)
            {
                SController.scoreRD(-TRILLION);
                SController.DollerRD(Math.Truncate(TRILLION / ydc.ConfirmRate()) * 0.99);
                ydc.Rise_rate(10);
            }
            else
            {
                SController.scoreRD(-SController.ConfirmS());
                SController.DollerRD(Math.Truncate(SController.ConfirmS() / ydc.ConfirmRate()));
            }

            break;

        case 2:
            if (ydc.ConfirmRate() < 0)
            {
                break;
            }
            if (SController.ConfirmS() >= 10 * TRILLION)
            {
                SController.scoreRD(-10 * TRILLION);
                SController.DollerRD(Math.Truncate(10 * TRILLION / ydc.ConfirmRate()) * 0.98);
                ydc.Rise_rate(30);
            }
            break;

        case 4:
            if (ydc.ConfirmRate() < 0)
            {
                break;
            }
            if (SController.ConfirmS() >= 100 * TRILLION)
            {
                SController.scoreRD(-100 * TRILLION);
                SController.DollerRD(Math.Truncate(100 * TRILLION / ydc.ConfirmRate()) * 0.95);
                ydc.Rise_rate(50);
            }
            break;

        //ドル売り処理
        case 1:
            if (ydc.ConfirmRate() < 0)
            {
                break;
            }
            if (SController.ConfirmD() > 0.01 * TRILLION)
            {
                SController.DollerRD(-0.01 * TRILLION);
                SController.scoreRD(Math.Truncate(TRILLION * 0.01 * ydc.ConfirmRate()));
                ydc.Drop_rate(10);
            }
            break;

        case 3:
            if (ydc.ConfirmRate() < 0)
            {
                break;
            }
            if (SController.ConfirmD() > 0.1 * TRILLION)
            {
                SController.DollerRD(-0.1 * TRILLION);
                SController.scoreRD(Math.Truncate(0.1 * TRILLION * ydc.ConfirmRate()));
                ydc.Drop_rate(30);
            }
            break;

        case 5:
            if (ydc.ConfirmRate() < 0)
            {
                break;
            }
            if (SController.ConfirmD() > TRILLION)
            {
                SController.DollerRD(-TRILLION);
                SController.scoreRD(Math.Truncate(TRILLION * ydc.ConfirmRate()));
                ydc.Drop_rate(50);
            }
            break;
        }
    }