/// <summary> /// 设置特殊的SpriteEffect /// <para>spriteEffect</para> /// <para>预制体名称</para> /// <para>layerId 层级</para> /// <para>是否缓存</para> /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int SpriteEffectSetPefab(ILuaState luaState) { STGSpriteEffect effect = luaState.ToUserData(-4) as STGSpriteEffect; string prefabName = luaState.ToString(-3); LayerId layerId = (LayerId)luaState.ToInteger(-2); bool cached = luaState.ToBoolean(-1); effect.SetPrefab(prefabName, layerId, cached); return(0); }
public void PlayGrazeEffect() { if (!_isGrazedDuringFrame) { _isGrazedDuringFrame = true; STGSpriteEffect effect = EffectsManager.GetInstance().CreateEffectByType(EffectType.SpriteEffect) as STGSpriteEffect; effect.SetPrefab("GrazeEffect", LayerId.STGTopEffect, true); effect.SetPosition(_curPos); effect.SetExistDuration(36); float angle = Random.Range(0, 360); effect.DoStraightMove(0.6f, angle); SoundManager.GetInstance().Play("se_graze", 0.05f, false, true); } }