/// <summary> /// 创建单个背景精灵 /// </summary> /// <param name="spName"></param> public BgSpriteObject CreateBgSpriteObject(string spName) { BgSpriteObject spObj = ObjectsPool.GetInstance().GetPoolClassAtPool <BgSpriteObject>(); spObj.Init(_foregroundLayerTf); spObj.SetSprite(spName); AddBgSpriteObject(spObj); return(spObj); }
/// <summary> /// 设置前景对象的速度 /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int SetBgSpriteObjectVelocity(ILuaState luaState) { BgSpriteObject spObj = luaState.ToUserData(-3) as BgSpriteObject; float velocity = (float)luaState.ToNumber(-2); float angle = (float)luaState.ToNumber(-1); luaState.Pop(3); spObj.SetVelocity(velocity, angle); return(0); }
/// <summary> /// 加速运动 /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int SetBgSpriteObjectAcce(ILuaState luaState) { BgSpriteObject spObj = luaState.ToUserData(-3) as BgSpriteObject; float acce = (float)luaState.ToNumber(-2); float angle = (float)luaState.ToNumber(-1); luaState.Pop(3); spObj.SetAcce(acce, angle); return(0); }
/// <summary> /// 设置前景对象的缩放 /// <para>spObj 对象本体</para> /// <para>scaleX</para> /// <para>scaleY</para> /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int SetBgSpriteObjectScale(ILuaState luaState) { BgSpriteObject spObj = luaState.ToUserData(-3) as BgSpriteObject; float scaleX = (float)luaState.ToNumber(-2); float scaleY = (float)luaState.ToNumber(-1); luaState.Pop(3); spObj.SetScale(scaleX, scaleY, 1); return(0); }
/// <summary> /// 设置前景对象的位置 /// <para>spObj 对象本体</para> /// <para>posX</para> /// <para>posY</para> /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int SetBgSprteObjectPos(ILuaState luaState) { BgSpriteObject spObj = luaState.ToUserData(-3) as BgSpriteObject; float posX = (float)luaState.ToNumber(-2); float posY = (float)luaState.ToNumber(-1); luaState.Pop(3); spObj.SetToPos(posX, posY); return(0); }
/// <summary> /// 延时之后前景对象逐渐消失的效果 /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int BgSpriteObjectDoFade(ILuaState luaState) { BgSpriteObject spObj = luaState.ToUserData(-3) as BgSpriteObject; int fadeDuration = luaState.ToInteger(-2); int fadeDelay = luaState.ToInteger(-1); luaState.Pop(3); spObj.DoFade(fadeDuration, fadeDelay); return(0); }
/// <summary> /// 有限制的加速运动 /// <para>acce</para> /// <para>angle</para> /// <para>duration</para> /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int SetBgSpriteObjectAcceWithLimitation(ILuaState luaState) { BgSpriteObject spObj = luaState.ToUserData(-4) as BgSpriteObject; float acce = (float)luaState.ToNumber(-3); float angle = (float)luaState.ToNumber(-2); int duration = luaState.ToInteger(-1); luaState.Pop(4); spObj.SetAcce(acce, angle, duration); return(0); }
/// <summary> /// 设置前景对象的当前旋转角度 /// </summary> /// <param name="luaState"></param> /// <returns></returns> public static int SetBgSpriteObjectRotation(ILuaState luaState) { BgSpriteObject spObj = luaState.ToUserData(-4) as BgSpriteObject; float xAngle = (float)luaState.ToNumber(-3); float yAngle = (float)luaState.ToNumber(-2); float zAngle = (float)luaState.ToNumber(-2); luaState.Pop(4); spObj.SetRotation(new Vector3(xAngle, yAngle, zAngle)); return(0); }
public override void Update(int curFrame) { if (curFrame % 30 == 0) { BgSpriteObject spObj = CreateBgSpriteObject("Common/MapleLeaf1"); float posX = Random.Range(80, 150); float posY = Random.Range(200, 225); spObj.SetToPos(posX, posY); float scale = Random.Range(0.2f, 1); spObj.SetScale(new Vector3(scale, scale)); spObj.SetVelocity(Random.Range(1f, 3f), Random.Range(-150, -30)); spObj.SetSelfRotateAngle(new Vector3(0, 0, Random.Range(1f, 2f))); spObj.DoFade(Random.Range(90, 180), Random.Range(180, 300)); } if (_isCameraMoving) { MoveCamera(); } base.Update(curFrame); }
/// <summary> /// 将背景精灵添加到列表中 /// </summary> /// <param name="spObj"></param> public void AddBgSpriteObject(BgSpriteObject spObj) { _spriteObjList.Add(spObj); _spriteObjCount++; }