Esempio n. 1
0
		/// <summary>
		/// 指定の名前のキャラクター表示をオフ
		/// </summary>
		/// <param name="characterName">キャラクター名</param>
		/// <param name="fadeTime">フェード時間</param>
		public void CharacterFadeOut(string characterName, float fadeTime)
		{
			AdvLayer layer = FindCurrentCharacterLayer(characterName);
			if (layer!=null)
			{
				layer.FadeOutDefaultSprite(fadeTime);
			}
		}
Esempio n. 2
0
        /// <summary>
        /// キャラクタ-テクスチャの設定
        /// </summary>
        /// <param name="layerName">レイヤー名</param>
        /// <param name="characterName">キャラクター名</param>
        /// <param name="texture">テクスチャ名</param>
        /// <param name="x">表示座標X floatのobject nullを指定することで位置移動なし</param>
        /// <param name="y">表示座標Y floatのobject nullを指定することで位置移動なし</param>
        /// <param name="fadeTime">フェード時間</param>
        /// <returns>成功したらture。テクスチャがないなどで失敗したらfalse</returns>
        public bool SetCharacterSprite(string layerName, string characterName, AssetFile texture, object x, object y, float fadeTime)
        {
            //既に同名のキャラがいるなら、そのレイヤーを取得
            AdvLayer oldLayer = FindCurrentCharacterLayer(characterName);

            if (oldLayer != null && texture == null)
            {
                //テクスチャ指定がない場合、前の同名キャラのテクスチャを引き継ぐ
                if (oldLayer.DefaultSprite != null)
                {
                    texture = oldLayer.DefaultSprite.CurrentTexture;
                }
            }

            if (texture == null)
            {
                //キャラのテクスチャ表示なし(エラーではない)
                return(false);
            }

            //表示するレイヤーを探す
            AdvLayer layer = null;

            if (!string.IsNullOrEmpty(layerName))
            {
                characterLayers.TryGetValue(layerName, out layer);
            }
            if (null == layer)
            {
                //レイヤーが名前で設定できないなら、今のレイヤーをそのまま使う
                layer = oldLayer;
                if (null == layer)
                {
                    //それもなければデフォルトレイヤーを使う
                    layer = DefaultCharacterLayer;
                }
            }

            //スプライトを設定
            layer.SetDefaultSprite(characterName, texture, x, y, fadeTime);
            //レイヤーが変わる場合は、昔のスプライトを消す
            if (oldLayer != layer && oldLayer != null)
            {
                oldLayer.FadeOutDefaultSprite(fadeTime);
            }
            return(true);
        }