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>(); } }
/// <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); }