42AudioStreamPlayer2D
基本属性/方法 play:手动播放 Stream:音频流 Volume dB:音量 Pitch Sale:音调 Playing:播放 Autoplay:自动播放 Loop:循环播放。左侧面板Scene旁边的Import-> Loop点选-> Reimport(右侧AudioStreamPlayer2d-> Stream展开->loop将同...
基本属性/方法 play:手动播放 Stream:音频流 Volume dB:音量 Pitch Sale:音调 Playing:播放 Autoplay:自动播放 Loop:循环播放。左侧面板Scene旁边的Import-> Loop点选-> Reimport(右侧AudioStreamPlayer2d-> Stream展开->loop将同...
创建一个hunter场景 hunter: 功能:hunter一只蜘蛛(为什么叫hunter呢)。基本的功能和Bug差不多 1.player进入边界hunter用寻路算法爬(骨骼动画)向player 2.player进入到它的攻击区域开咬,被咬后health-20 3.hunter被攻击 health-10,health<=0销毁,h...
创建敌人系统里的car car特点 1.car按指定的路线运行(这更像是火车) 2.player进入边界car上的两杆枪瞄准player,激光器会变粗(两条红外线瞄准,玩家一进入就有个光线从无到粗到无的效果循环) 5.瞄准结束后开火 新的节点 Path2D节点: 可以让 PathFollow2D 子节点沿着 Curve2D 移动。(通过Path2D绘制的曲线就给子节点P...
这节完善敌人系统里的drone drone特点 1.Player进入drone区域,drone朝玩家加速移动 2.drone与任何物体碰撞则爆炸 3.drone被击中产生爆炸效果(AnimationPlayer 4.drone爆炸附近范围的物体(Container、Entity组)也被殃及(触发爆炸) 一些细节 向player加速移动 #在player进入边...
制造一个Bug场景 这只Bug跟Scout差不多属于敌人系统里面的,跟Scout不一样的是: 一旦进入Bug的临界范围它就会跑出来紧追Player #虫子的爬动是一系列的帧动画 #跟随实现和之前Player的实现差不多 velocity=(Globals.player_pos-global_position).normalized()*speed move_and_slide()...
通过边缘算法( Canny Edge Detection)获取到图片的边缘特征,再通过面积、周长、位置排查出滑动缺口(OpenCV提供的功能)。 准备工作 安装opencv-python:pip3 install opencv-python 用到的OpenCV功能: cv2.GaussianBlur高斯模糊。 这里用高斯模糊的目的是去除干扰凸显边缘轮廓 src,输入图像...
这节用Shader制作Scout被射中后变白,一定间隔后恢复(他这里介绍的非常有限还是得啃godot的文档) 创建shader CavasItem -> Material -> Matreial -> New ShaderItemMaterial 点击展开下面出现Shader->New Shader -> 输入shader脚步名 编辑器中下方出现...
完善玩家的 hit 函数 怎么避免玩家连续被 hit 在Global.health的set中增加 bool变量和timer控制 if player_vulnerable: player_vulnerable=false _play_invulnerable() health=value stats_change.emit() func _play...
实现hit函数逻辑,注意Scout不能被连续攻击(被激光攻击了换个grenade很快就挂了。再来个计时器控制下) Scout总是朝Player射击: 1.用Globals.player_pos记录Player的global_position(player._proccess更新) 2.(Globals.player_pos-global_position).normalized(...
完善 Grenade场景:grenade爆炸后在距离范围内打开crate、toliet和hit中Player、Scout 再次用到了Goups 将Player、Scout归类到Entity。(“Manage Groups”不好用、Godot的编辑器这么弱鸡[没有全局搜索功能],到处用Groups实在不方便) 判断两个节点是否在距离范围 node1.global_position.di...