예제 #1
0
    void ResizeWidthOfHeldLine()
    {
        SpriteRenderer circleRenderer     = (SpriteRenderer)tap.GetComponent(typeof(SpriteRenderer));
        float          widthOfInputCircle = circleRenderer.bounds.size.x;

        SpriteRenderer lineRenderer       = (SpriteRenderer)holdLine.GetComponent(typeof(SpriteRenderer));
        float          currentWidthOfLine = lineRenderer.bounds.size.x;

        float desiredWidthOfLine = widthOfInputCircle / 3;
        float scaleChangeOfLine  = desiredWidthOfLine / currentWidthOfLine;

        holdLine.transform.localScale *= scaleChangeOfLine;

        MoveToBeat moveScript = (MoveToBeat)tap.GetComponent(typeof(MoveToBeat));

        lengthPerBeat = moveScript.lerpSpeed;

        originalLineLength = lineRenderer.bounds.size.y;
    }
예제 #2
0
    public void CreateHeadOfObject(Metronome metronome, Vector3 startPos, Vector3 target, Vector3 destroy)
    {
        startPosition = startPos;

        // instantiate object
        musicObject       = ( GameObject )Instantiate(prefab, startPosition, Quaternion.identity);
        musicObject.name += index;

        //if not a tap object
        if (!held && expected != inputType.tap)
        {
            SpriteRenderer mainRenderer = ( SpriteRenderer )musicObject.GetComponent(typeof(SpriteRenderer));
            mainRenderer.sprite = mainSprite;
        }
        moveScript     = ( MoveToBeat )musicObject.GetComponent(typeof(MoveToBeat));
        feedbackScript = ( ShowFeedback )musicObject.GetComponent(typeof(ShowFeedback));

        moveScript.metronome = metronome;
        // calculate its start values

        moveScript.CalculateAndSetValues(startPosition, target, destroy, arrivalBeat, metronome.bpm);

        Activate(false);
    }