Skip to content

Chacat68/fygame

Repository files navigation

fygame

基于Brackeys教程制作的游戏demo

教程地址:https://youtu.be/LOhfqjmasi0?si=qng6rKh2-j9MwLgN

这是一个基于Brackeys教程制作的游戏demo项目。通过该项目,你可以学习如何使用Godot引擎创建简单的游戏。教程地址提供了详细的教学视频,帮助你逐步完成游戏的制作过程。

nyFavE

游戏玩法规则

基本玩法

  • 这是一款2D平台跳跃游戏,玩家控制一个骑士角色在平台间移动和跳跃
  • 使用A/D或方向键左右移动,空格键跳跃
  • 游戏目标是收集尽可能多的金币,同时避免掉落或碰到敌人

角色能力

  • 双段跳:玩家可以在空中再次按下跳跃键执行第二段跳跃
  • 动态动画:角色根据移动状态自动切换闲置、奔跑和跳跃动画
  • 碰撞检测:与敌人或危险区域接触会导致角色死亡

敌人系统

  • 史莱姆敌人:沿着平台自动移动,遇到边缘会自动转向
  • 智能巡逻:使用射线检测技术避免掉落平台
  • 危险接触:玩家碰到敌人会导致游戏重新开始

收集系统

  • 金币收集:玩家可以收集场景中的金币增加分数
  • 视觉反馈:收集金币时会显示飘字效果和播放音效
  • 计分板:UI界面实时显示已收集的金币数量

死亡机制

  • 掉落死亡:掉入场景底部的死亡区域会导致角色死亡
  • 敌人接触:碰到敌人也会导致角色死亡
  • 场景重载:死亡后会自动重新加载当前场景,重新开始游戏

核心设计文档

模块设计

  1. 角色控制模块 (player.gd)
  • 双段跳机制实现
  • 动画状态机管理
  • 物理运动处理
  1. 敌人AI模块 (slime.gd)
  • 自动转向逻辑
  • 射线碰撞检测
  • 移动速度控制
  1. 游戏管理模块 (game_manager.gd)
  • 场景切换
  • 分数统计
  • 游戏状态管理
  1. 收集系统模块 (coin.gd, coin_counter.gd)
  • 金币收集逻辑
  • 分数统计与显示
  • 视觉与音效反馈
  1. 死亡区域模块 (killzone.gd)
  • 碰撞检测
  • 角色死亡处理
  • 场景重载
  1. 反馈系统模块 (floating_text.gd)
  • 动态文本显示
  • 动画效果控制
  • 视觉反馈增强

技术实现细节

角色控制

  • 使用Godot的CharacterBody2D实现物理移动
  • 通过跟踪跳跃次数实现双段跳
  • 使用动画状态机管理不同状态下的角色动画

敌人AI

  • 使用射线检测实现边缘识别和自动转向
  • 通过调整移动速度控制难度
  • 简单但有效的巡逻行为模式

游戏管理

  • 集中管理游戏状态和分数
  • 使用信号系统实现模块间通信
  • 提供游戏重置功能

用户界面

  • 使用CanvasLayer实现固定位置UI
  • 动态更新分数显示
  • 提供即时视觉反馈

扩展规划

  • 敌人基类开发
  • 关卡进度系统
  • 技能树系统
  • 存档/读档功能
  • 多人联机支持

About

使用godot开发的 2d 游戏

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published