|
|
(同じ利用者による、間の24版が非表示) |
行1: |
行1: |
− | ==幅修正==
| + | [[Unity/UIImage/基本]] |
− | GameObject graph = GameObject.Find("/Canvas/Graph");
| + | |
− | RectTransform textRect = graph.GetComponent<RectTransform>();
| + | |
− | textRect.sizeDelta = new Vector2(1000.0f, 1000.0f);
| + | |
| | | |
− | ==幅と高さ==
| + | [[Unity/UIImage/Mask]] |
− | float width = gameObject.GetComponent<RectTransform>().sizeDelta.x; // 幅
| + | |
− | float height = gameObject.GetComponent<RectTransform>().sizeDelta.y; // 高さ
| + | |
| | | |
− | ==UiImage複製して配置==
| + | [[Unity/UIImage/Collider2d]] |
− | *Canvas/CopySourceImageにコピー元Image設置
| + | |
− | *NewImageが新しくできるImage
| + | |
− | <pre>
| + | |
− | GameObject canvas = GameObject.Find("Canvas");
| + | |
− | GameObject copySourceImage = GameObject.Find("Canvas/CopySourceImage");
| + | |
− | GameObject newImage = new GameObject("NewImage");
| + | |
− | newImage.transform.SetParent(canvas.transform, false);
| + | |
− | newImage.transform.SetSiblingIndex(copySourceImage.transform.GetSiblingIndex());
| + | |
− | RectTransform baseTransform = copySourceImage.transform as RectTransform;
| + | |
− | RectTransform rectTransform = newImage.AddComponent<RectTransform>();
| + | |
− | rectTransform.anchorMax = baseTransform.anchorMax;
| + | |
− | rectTransform.anchorMin = baseTransform.anchorMin;
| + | |
− | rectTransform.anchoredPosition = baseTransform.anchoredPosition;
| + | |
− | rectTransform.sizeDelta = baseTransform.sizeDelta;
| + | |
− | rectTransform.localScale = baseTransform.localScale;
| + | |
− | rectTransform.localPosition = baseTransform.localPosition;
| + | |
− | rectTransform.localRotation = baseTransform.localRotation;
| + | |
− | Image img = newImage.AddComponent<Image>();
| + | |
− | img.sprite = copySourceImage.GetComponent<Image>().sprite;
| + | |
− | </pre>
| + | |
| | | |
− | 参考:https://teratail.com/questions/42899
| + | [[Unity/UIImage/Texture]] |
− | | + | |
− | ==枠を追加==
| + | |
− | 以下で外枠を追加できるが、Imageを透明にするとOutlineも消えてしまう・・。
| + | |
− | <pre>
| + | |
− | Outline outline =imageObj.AddComponent<Outline>();
| + | |
− | outline.effectColor = new Color(1, 0f, 0f, 1f);
| + | |
− | </pre>
| + | |
− | | + | |
− | どこか一辺だけの場合は、以下参照すればできるかも。http://aktaat.hatenablog.com/entry/2016/10/30/085534
| + | |
− | <pre>
| + | |
− | | + | |
− | using UnityEngine;
| + | |
− | using System.Collections.Generic;
| + | |
− | | + | |
− | public class WakuImage : MonoBehaviour
| + | |
− | {
| + | |
− | private RectTransform rect;
| + | |
− | | + | |
− | private Vector2 TopRight;
| + | |
− | private Vector2 TopLeft;
| + | |
− | private Vector2 BottomLeft;
| + | |
− | private Vector2 BottomRight;
| + | |
− | | + | |
− | void Start()
| + | |
− | {
| + | |
− | //自分自身がアタッチしたGameObjectのコンポーネントを取得する場合はgameObject
| + | |
− | //自分がアタッチしているかわからないシーン内のゲームオブジェクトを探して
| + | |
− | //キャッシュするにはGameObject.Find("ゲームオブジェクトの名前")
| + | |
− | rect = gameObject.GetComponent<RectTransform>();
| + | |
− | | + | |
− | var offsetMax = rect.offsetMax;//アンカーからのオフセット(右上)
| + | |
− | var offsetMin = rect.offsetMin;//アンカーからのオフセット(左下)
| + | |
− | | + | |
− | //アンカーがCanvasの四隅を指定している場合
| + | |
− | TopRight = new Vector2(Screen.width + offsetMax.x, Screen.height + offsetMax.y);
| + | |
− | TopLeft = new Vector2(offsetMin.x, Screen.height + offsetMax.y);
| + | |
− | BottomLeft = new Vector2(offsetMin.x, offsetMin.y);
| + | |
− | BottomRight = new Vector2(Screen.width + offsetMax.x, offsetMin.y);
| + | |
− | | + | |
− | LineRenderer renderer = this.GetComponent<LineRenderer>();
| + | |
− | renderer.SetWidth(0.01f, 0.01f); // 幅
| + | |
− | renderer.SetVertexCount(4); // x点間
| + | |
− | renderer.SetPosition(0, new Vector3(Screen.width + offsetMax.x, Screen.height + offsetMax.y, 0));
| + | |
− | renderer.SetPosition(1, new Vector3(offsetMin.x, Screen.height + offsetMax.y, 0));
| + | |
− | renderer.SetPosition(2, new Vector3(offsetMin.x, Screen.height + offsetMax.y, 0));
| + | |
− | renderer.SetPosition(3, new Vector3(Screen.width + offsetMax.x, offsetMin.y, 0));
| + | |
− | // renderer.SetPosition(1, new Vector3(-10f, -10f, 0f)); // 0から右上へ
| + | |
− | | + | |
− | }
| + | |
− | }
| + | |
− | </pre>
| + | |