Ejemplo n.º 1
0
    void Start()
    {
        spriteRender = GetComponent <SpriteRenderer>();
        rigid2D      = GetComponent <Rigidbody2D>();
        animator     = GetComponent <Animator>();
        material     = spriteRender.sharedMaterial;

        ownColor = OwnColor.BLACK;
        OwnColorChange(false);

        if (!sceneManager)
        {
            sceneManager = GameObject.FindObjectOfType <MainSceneManager>();
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 現在のプレイヤーの色を変える関数 白→黒→白... と変わる
    /// </summary>
    /// <returns>
    /// 変更後の色
    /// </returns>
    public OwnColor OwnColorChange(bool playSe = true)
    {
        OwnColor ownColor = OwnColor.WHITE;
        // 変更後のレイヤー
        int layer = -1;

        // 現在のプレイヤーの色によって、変更後の色とレイヤーを確定する
        // 現在の色が白の時は黒になる、黒の時は白になる
        switch (this.ownColor)
        {
        case OwnColor.WHITE:
            ownColor = OwnColor.BLACK;
            layer    = LayerMask.NameToLayer("Black");
            spriteRender.sharedMaterial.SetColor("_MinusColor", Color.white);
            break;

        case OwnColor.BLACK:
            ownColor = OwnColor.WHITE;
            layer    = LayerMask.NameToLayer("White");
            spriteRender.sharedMaterial.SetColor("_MinusColor", Color.black);
            break;

        default:
            Debug.LogError("[Player.cs] プレイヤーの色変更処理が不正です");
            return(ownColor);
        }

        this.ownColor = ownColor;

        gameObject.layer = layer;

        if (playSe)
        {
            SoundManager sound = SoundManager.Instance;
            sound.PlaySE("Change");
        }

        return(ownColor);
    }