敵をロックオンする機能をつけて、そのカーソルを敵に表示するように設定しましたが、カーソルの位置が敵のVector3(0,0,0)で下のほうに
表示されるので変更しようとプログラムで試みているのですがなぜか変更できません。
ちなみにプログラムは
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// ロックオンカーソルを制御するクラス
/// </summary>
public class LockonCursor : MonoBehaviour
{
// 自身のRectTransform
protected RectTransform rectTransform;
// カーソルのImage protected Image image; // ロックオン対象のTransform protected Transform LockonTarget { get; set; } void Start() { rectTransform = this.GetComponent<RectTransform>(); image = this.GetComponent<Image>(); image.enabled = false; } void Update() { if (image.enabled) { rectTransform.Rotate(0, 0, 1f); if (LockonTarget != null) { Vector3 targetPoint = Camera.main.WorldToScreenPoint(LockonTarget.position); rectTransform.position = targetPoint; } } } public void OnLockonStart(Transform target) { image.enabled = true; LockonTarget = target; } public void OnLockonEnd() { image.enabled = false; LockonTarget = null; }
}
こんな感じです。
回答いただけると嬉しいです。
回答1件
あなたの回答
tips
プレビュー