예제 #1
0
파일: Sucker.cs 프로젝트: CAPsp/Asterisk
    void Update()
    {
        List <GameObject> lineList = mHitPointManager.GetLineList();

        // 最後に当たった場所からSuckerへの線を引く
        lineList[lineList.Count - 1].GetComponent <LineRenderer>().SetPosition(1, transform.position + Vector3.back);
    }
예제 #2
0
파일: Pull.cs 프로젝트: CAPsp/Asterisk
    void PullProcess()
    {
        List <GameObject> lineList = mHitPointManager.GetLineList();
        List <Vector2>    vecList  = mHitPointManager.GetHitPointList();

        Vector2 angle = Vec3ToVec2.GenVecFrom2Points(vecList[vecList.Count - 1], mStarObject.transform.position);

        Vector3 posInc = Time.deltaTime * mPullSpeed * new Vector3(angle.normalized.x, angle.normalized.y, 0f);

        mStarObject.transform.position += posInc;
        transform.position             += posInc;

        lineList[lineList.Count - 1].GetComponent <LineRenderer>().SetPosition(1, mStarObject.transform.position + Vector3.back);

        // 反射するところに近くなったら消す
        if (mDestroyLineDistance > Vector2.Distance(Vec3ToVec2.GenV3ToV2(mStarObject.transform.position), vecList [vecList.Count - 1]))
        {
            vecList.RemoveAt(vecList.Count - 1);
            Destroy(lineList[lineList.Count - 1]);
            lineList.RemoveAt(lineList.Count - 1);

            if (vecList.Count <= 0)
            {
                ChangeMoving();
            }
        }
    }