Godot零散记录

1.raycaster最好不要从x轴上向下射,否则如果你的野猪站在地面上,godot会认为ray是从地板边缘射到地板内部,没有发生碰撞

2.spirite2D可放在Node2d下,这样你在sprite2D中标记一些碰撞体后

再设置Node2D的scale。X即可完美翻转碰撞体,否则设置sprite2D的flip_h之后这些标记的碰撞体不会跟着翻转

3.CharacterBody2D 的collisionLayer是物体所处的碰撞层,collisionMask是物体可以与那些层碰撞。右击三个点可为碰撞层命名,方便修改   raycaster的layer mask同理

4.@onready变量的初始化在子场景中晚于@export变量

5.raycaster在父Node翻转后不会更新,只需force_raycaster_update()一下即可

6.获取enum的数值的对应名称

enum State{
   A
}

State.keys()[A] #"A"

7.timer 自动会从time值往下减,start()后time_left值变time(oneshot时)

8.@export变量可在动画中更改,实现类似动画播放百分之多少内按键可连击的效果

9.项目-项目设置-输入映射添加动作后按加号绑定按键,之后可用is_action_XXX获取

10.攻击-受攻 较为通用,可新建脚本,继承自area2D,提高代码复用性

    area2D 有onarea——entered信号,可在——init中绑定

     area2D要在它下面添加collisionshape才可检测碰撞

     可以让hitbox主动去找(主动碰撞),它可以不待在任何层上,

      而hurtbox待在层上,不主动找

例如:

       让player的hurtbox待在playerhurtbox这一层(layer设为这个值),mask不设

        让enemy的hitbox不呆在任何层(layer不设),mask设为playerhurtbox。

       这样,enemy攻击且只攻击player

(注:此处的playerhurtbox为命名过的物理层)

11.多段攻击时会有碰撞区域不同的情况,可以多设几个collisionshape2D,然后在关键帧中决定是否启用

12.双击信号点击连接(在inspector中)

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值