Zepeto
Zepeto Follow UIGauge
일등하이
2022. 4. 15. 00:37
반응형
import { ZepetoScriptBehaviour } from 'ZEPETO.Script'
import { Camera, GameObject, Transform, Vector3, Vector2, RectTransformUtility, RectTransform} from "UnityEngine"
import { Slider } from "UnityEngine.UI"
export default class UIHpGauge extends ZepetoScriptBehaviour {
public target: Transform;
public sldier: Slider;
public canvasRect : RectTransform;
private zepetoCam : Camera;
public Init(target : Transform)
{
this.target = target;
this.zepetoCam = GameObject.Find("ZepetoCamera").GetComponent<Camera>();
}
Update()
{
if(this.target != null){
// Calculate *screen* position (note, not a canvas/recttransform position)
var canvasPos = $ref<Vector2>();
var screenPoint: Vector3 = this.zepetoCam.WorldToScreenPoint(this.target.position);
// Convert screen position to Canvas / RectTransform space <- leave camera null if Screen Space Overlay
RectTransformUtility.ScreenPointToLocalPointInRectangle(this.canvasRect, new Vector2(screenPoint.x, screenPoint.y + 120), null, canvasPos);
var tpos = $unref(canvasPos);
// Set
this.sldier.transform.localPosition = new Vector3(tpos.x, tpos.y, 0);
//Debug.Log(canvasPos);
}
}
}
반응형