Пример #1
0
    /// <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);
    }
Пример #2
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);
     }
 }