Post

38Bug

制造一个Bug场景

这只Bug跟Scout差不多属于敌人系统里面的,跟Scout不一样的是:

  • 一旦进入Bug的临界范围它就会跑出来紧追Player
1
2
3
4
5
#虫子的爬动是一系列的帧动画
#跟随实现和之前Player的实现差不多
velocity=(Globals.player_pos-global_position).normalized()*speed
move_and_slide()
look_at(Globals.player_pos)
  • 一旦接触到Player它就会开咬,咬了后Player的health减10。
1
#虫子开咬的动子也是帧动画,动画玩了将player.health-10

bug被hit的逻辑基本和Scout差不多(同样限制不能被连续hit还有开咬完成一定间隔后才能再次开咬),不过还添加了被击中的shader效果(拷贝上节的代码)和粒子效果

  • 将一张图片分成N*M帧制作随机粒子效果
    • 设置图片到Texture
    • Matreial -> New CanvasItemMaterial
      • Particles Animation:on
      • Particles Anim H/V Frames:设置图中的横/竖烈数(即将图片设置成 N*M帧)
    • Process Material
      • Display -> Animation -> Offset Min/Max (0/1)
      • 其余设置按17Particles
This post is licensed under CC BY 4.0 by the author.