コード例 #1
0
    // Use this for initialization
    void Start()
    {
        tempPosition = transform.position;
        cam          = GameObject.Find("Station Camera").GetComponent <StationCamera>();
        DOF          = cam.gameObject.GetComponent <DepthOfFieldScatter>();
        cameraTm     = GameObject.Find("Station Camera").transform;
        OrigScale    = gameObject.transform.localScale.y;
        effect       = transform.FindChild("effect").gameObject;

        if (ANIMATE_3)
        {
            animator_3 = gameObject.GetComponent <Greeble_3_Animator>();
            Debug.Log(animator_3);
        }

        if (ANIMATE_5)
        {
            animator_5 = gameObject.GetComponent <Greeble_5_Animator>();
            Debug.Log(animator_5);
        }

        if (SPINS)
        {
            spinner = gameObject.GetComponent <ObjectSpinner>();
            Debug.Log("This is spinner: " + spinner);
        }
    }
コード例 #2
0
    /// <summary>
    /// 指定方向にこのスクリプトをつけたオブジェクトをぐるぐる回転させながらぶっ飛ばす
    /// 物理法則完全無視
    /// </summary>
    /// <param name="flySpeed"></param>
    public void FlyAwayWidhSpinning(Vector2 flySpeed)
    {
        //とりあえず吹っ飛ばす
        this.FlyAway(flySpeed);


        //変態PhysicsMaterial2Dに置き換える
        Collider2D collider = this.GetComponent <Collider2D>();

        if (collider != null)
        {
            PhysicsMaterial2D material = new PhysicsMaterial2D();
            material.bounciness = 1.1f;
            material.friction   = 0;

            collider.sharedMaterial = material;
        }

        //もの凄い勢いで回転させるスクリプトをつける
        ObjectSpinner spinner = this.gameObject.AddComponent <ObjectSpinner>();

        spinner.SpinSpeed = 60f;
    }