Pongeponge

読者です 読者をやめる 読者になる 読者になる

チェスの移動

【磁石つき】 マグネット式 本格サイズ チェスセット チェス盤 便利な収納ケース型 25cm
チェス駒をアセットストアからダウンロードして動かしてみた。


 赤い線はガイド。
10フレームで目的座標に到着する(たぶん)ように作った。


知った事
・[RequireComponent(typeof(コンポーネント名))]はコンポーネントを付けてくれるわけじゃない
コンポーネントを付けてくれるのはAddComponent

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(LineRenderer))]
public class uma : MonoBehaviour
{
    Vector3 target;
    Vector3 d;

    LineRenderer lr;

    // Use this for initialization
    void Start()
    {
        this.InitLineRenderer();

        this.SetTarget();

    }

    // Update is called once per frame
    void Update()
    {
        if (1.0 <= Vector3.Distance(this.transform.position, this.target))
        {
            this.transform.rotation = Quaternion.Slerp(this.transform.rotation, Quaternion.LookRotation(this.target - this.transform.position), Time.time * 1f);
            this.transform.position = this.transform.position + d;
            this.lr.SetPosition(0, this.transform.position);
        }
        else
        {
            this.SetTarget();
        }
    }

    //目標地点の設定
    private void SetTarget()
    {
        this.target = new Vector3(Random.Range(-100, 100), 0, Random.Range(-100, 100));
        d = (this.target - this.transform.position) / 10.0f;
        this.lr.SetPosition(1, this.target);
    }

    //ラインレンダラーの設定
    private void InitLineRenderer()
    {
        this.gameObject.AddComponent<LineRenderer>();
        this.lr = this.GetComponent<LineRenderer>();
        this.lr.SetVertexCount(2);

    }
}