예제 #1
0
 // Call this method once per every frame.
 void Update()
 {
     // スキルのフラグがオフならば
     if (!skillFlag)
     {
         // クリックされたら
         if (Input.GetMouseButtonDown(0))
         {
             // その画像の上にマウスの座標があるなら
             if (col.OverlapPoint(Input.mousePosition))
             {
                 GameObject obj = GameObject.Instantiate(this.gameObject); // 自分を複製する
                 obj.AddComponent <MoveSprite>();                          // 移動用スクリプトをアタッチする
                 obj.GetComponent <DuplicateSprite>().enabled = false;     // 複製用スクリプトをオフにする
                 obj.AddComponent <RemoveSprite>().enabled    = false;     // 削除用スクリプトをアタッチし、オフにする
                 //obj.transform.SetParent(this.transform.parent); // 親を付ける
                 obj.transform.SetParent(mainCanvas.transform);
                 obj.transform.localScale = new Vector3(1f, 1f, 1f);
                 SetSkillIcon.moveImage   = obj;
             }
         }
     }
     // スキルのフラグがオンならば
     else
     {
         // クリックされたら
         if (Input.GetMouseButtonDown(0))
         {
             if (scrollOnMouseCheck.GetMouseFlag())
             {
                 // その画像の上にマウスの座標があるなら
                 if (col.OverlapPoint(Input.mousePosition))
                 {
                     // スキルのIDを取得する
                     int skillID = transform.parent.GetComponent <OverLapPoint>().SkillCanvas.GetComponent <SkillText>().SkillID;
                     // スキルのレベルが0以下ならば
                     if (SkillControl.GetSkill(skillID).level <= 0)
                     {
                         return;
                     }
                     GameObject obj = GameObject.Instantiate(this.gameObject); // 自分を複製する
                     obj.AddComponent <MoveSprite>();                          // 移動用スクリプトをアタッチする
                     obj.GetComponent <DuplicateSprite>().enabled = false;     // 複製用スクリプトをオフにする
                     obj.AddComponent <RemoveSprite>().enabled    = false;     // 削除用スクリプトをアタッチし、オフにする
                     //obj.transform.SetParent(this.transform.parent); // 親を付ける
                     obj.transform.SetParent(mainCanvas.transform);            // 親を付ける
                     obj.GetComponent <UseSkill>().skillID = skillID;
                     obj.transform.localScale = new Vector3(1f, 1f, 1f);
                     SetSkillIcon.moveImage   = obj;
                 }
             }
         }
     }
 }
예제 #2
0
    void Update()
    {
        // ☆毎フレームこのスクリプト分GetComponentは重い処理、一度設定して使いまわすが吉
        // ScrollOnMouseCheck a = gameObject.transform.parent.parent.parent.gameObject.GetComponent<ScrollOnMouseCheck>();

        // ☆この順番で処理を行うよりは最初に大きい方の当り判定を取り、次に細かい方の当り判定を取るのが正解
        // if (boxCol.OverlapPoint(Input.mousePosition) && scrollOnMouseCheck.GetMouseFlag())

        // スクロールする位置にマウスカーソルが存在するかどうか
        if (scrollOnMouseCheck.GetMouseFlag())
        {
            // スキル画像の上にマウスカーソルが存在するかどうか
            if (boxCol.OverlapPoint(Input.mousePosition))
            {
                // オブジェクト存在しない時
                if (!objectInstance)
                {
                    // オブジェクトのインスタンスを作成する
                    objectInstance = GameObject.Instantiate(SkillCanvas);
                }

                // ☆探す処理は重い処理、変数化したものを呼び出した方が遥かに効率的
                // テクスチャー?(テクスチャ―ってなに?)を非表示
                // transform.Find("dummy").GetComponent<Image>().enabled = false;

                // 暗くするイメージ画像を非表示にする
                blackSprite.enabled = false;
            }
            // スキル画像の上にマウスカーソルが存在しない場合
            else
            {
                // オブジェクトのインスタンスが存在するならば
                if (objectInstance)
                {
                    // オブジェクトを破壊する
                    GameObject.Destroy(objectInstance);

                    // ☆重い処理
                    // テクスチャー(テクスチャ―ってなに?)を表示
                    // transform.Find("dummy").GetComponent<Image>().enabled = true;

                    // 暗くするイメージ画像を表示する
                    blackSprite.enabled = true;
                }
            }
        }
        // スクロール画像の上にマウスカーソルが無ければ
        else
        {
            // オブジェクトのインスタンスが存在するならば
            if (objectInstance)
            {
                // オブジェクトを破壊する
                GameObject.Destroy(objectInstance);

                // ☆重い処理
                // テクスチャー(テクスチャ―ってなに?)を表示
                // transform.Find("dummy").GetComponent<Image>().enabled = true;

                // 暗くするイメージ画像を表示する
                blackSprite.enabled = true;
            }
        }
    }