欢迎光临散文网 会员登陆 & 注册

godot 案例解析 Twin Stick 2D Shoot Em Up -1

2023-04-22 18:31 作者:damedown  | 我要投稿


大致了解godot的操作后,就直接上案例把,完整的框架别人已经搭好了。

直接看main scene

    很直观的,类吸血鬼幸存者的游戏,需要手动设计。

    大致分四部分

    1、UI

    2、main_character

    3、粉色方框的敌人生存区域

    4、碰撞墙体

    一、UI    

        直接看main_scene的代码

        很正常的初始化与显示。有一个中间event展示不知道干嘛。

   二、character

    

大概分为五部分:

    1、碰撞体

    2、贴图

    3、开火

    4、移动

    5、死亡

    ①、碰撞体

如上图,就是一个球形碰撞体,但是gun部分不碰撞。

    ②、贴图

如上图,一个蛋,一根黑棍子

    ③、开火

1、 如果火力全开,双倍射速,持续10秒

2、如果shoot返回不为0,切计时器跑马大于充能时间:

就bullet.instantiate()实例化一个子弹

把子弹加入到main_scene中,和character为姊妹关系

获取bulletspawn的世界坐标(枪口的那个十字架)

设置bullet的direction(移动方向)为鼠标和他自己之间的向量方向(area_direction为bullet的自己的变量)

相机设置位移,其中位移是随机-4~4的float的2D区间

   这两种方法任选,不能var Bullet,必须说明它是scene,个人推荐@export,然后可以在操作界面中修改。

 ④、移动

看向鼠标,调整自己的rotation,当然也可以

set_rotation(global mouse-global self ).normalize()

    

    ⑤、死亡

就算把死亡删了也没关系。

    总结character:作者为了演示一些操作,真的是煞费苦心。


三、生成区域

    ①、银币生成和大力丸生成

    ②、生成敌人

tips:get node("animationplayer").play("spawn")并不是下面的function spawn()。

而是

    总结:animationplayer比unreal的差太远太远了。有总比没有好一丁点吧。


四、墙体

    就碰撞体+贴图



总结:毫无悬念的没有难度,不过add_sibling和call_deferred需要注意下


godot 案例解析 Twin Stick 2D Shoot Em Up -1的评论 (共 条)

分享到微博请遵守国家法律