Example #1
0
 public void Damage()
 {
     // 主角与敌人碰撞时(而非踩到了敌人),触发一个旋转动作(其实效果可以做的更有趣一些,
     // 比如先反弹到某一方向(FireTo),然后再弹回等等,此处仅仅举个例子)
     if (rotate == null)
     {
         // 旋转360度,每帧累加5度
         rotate = new RotateTo(360f, 5f);
         rotate.SetActionListener(new RotateActionListener(this));
         AddAction(rotate, hero);
     }
     else if (rotate.IsComplete())
     {
         hero.SetFilterColor(LColor.red);
         // 直接重置rotate对象
         rotate.Start(hero);
         // 重新插入(LGame的方针是Action事件触发且结束后,自动删除该事件,所以需要重新插入)
         AddAction(rotate, hero);
     }
 }
Example #2
0
 /// <summary>
 /// 让指定对象执行RotateTo旋转事件
 /// </summary>
 ///
 /// <param name="o"></param>
 /// <param name="angle"></param>
 /// <param name="speed"></param>
 /// <returns></returns>
 public RotateTo CallRotateTo(Loon.Action.ActionBind o, float angle, float speed)
 {
     if (isClose)
     {
         return null;
     }
     RotateTo rotate = new RotateTo(angle, speed);
     AddActionEvent(rotate, o);
     return rotate;
 }