Skip to content

onble/StellarFireBall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StellarFireBall

StellarFireBall 是一款基于 LayaAir 引擎开发的休闲对战游戏,玩家需要通过控制角色击球得分,与 AI 对手进行对抗。

游戏特点

  • 1v1 对战模式:玩家与 AI 对手进行实时对战
  • 物理引擎:使用物理引擎实现真实的球体物理效果
  • 多样化场景:随机的白天/黑夜场景,增加游戏多样性
  • 丰富的音效:包括击球声、进球声、哨声和观众欢呼声
  • 角色定制:玩家可以选择不同的头像
  • 多平台支持:支持键盘和触摸屏操作

技术栈

  • 游戏引擎:LayaAir 3.2.6
  • 开发语言:TypeScript
  • 物理引擎:LayaAir 内置物理引擎
  • 资源管理:LayaAir 资源管理系统

游戏玩法

  1. 目标:在 90 秒的比赛时间内获得比对手更高的分数
  2. 控制
    • 键盘:A/D 键左右移动,空格键跳跃
    • 触摸屏:左右按钮移动,跳跃按钮跳跃
  3. 得分:当球落在对方场地时得分

项目结构

StellarFireBall/
├── assets/            # 游戏资源文件
├── bin/               # 编译输出目录
├── src/               # 源代码
│   ├── Main.ts        # 游戏入口
│   └── scripts/       # 游戏脚本
│       ├── AIPlayerController.ts    # AI 玩家控制器
│       ├── Ball.ts                  # 球体逻辑
│       ├── GameManager.ts           # 游戏管理器
│       ├── MenuScene.ts             # 菜单场景
│       ├── MyPlayerController.ts    # 玩家控制器
│       └── ScorePanel.ts            # 分数面板
├── engine/            # LayaAir 引擎文件
└── settings/          # 项目设置

核心代码说明

GameManager.ts

游戏管理器负责控制游戏的整体流程,包括游戏状态、计分系统和场景管理。

主要功能:

  • 游戏初始化和场景设置
  • 计分系统管理
  • 游戏时间控制(90 秒倒计时)
  • 游戏状态管理(开始、暂停、结束)
  • 音效控制

Ball.ts

球体类负责处理球的物理行为和碰撞检测。

主要功能:

  • 物理碰撞检测
  • 得分判定
  • 球体音效控制
  • 球体重置

MyPlayerController.ts

玩家控制器负责处理玩家输入和角色行为。

主要功能:

  • 键盘和触摸屏输入处理
  • 角色移动和跳跃
  • 角色动画和视觉效果
  • 碰撞检测

AIPlayerController.ts

AI 控制器负责控制 AI 对手的行为。

主要功能:

  • 球体追踪
  • 智能跳跃决策
  • 随机行为生成
  • 角色动画和视觉效果

安装和运行

  1. 确保已安装 LayaAir IDE 3.2.6 或更高版本
  2. 克隆或下载本项目
  3. 使用 LayaAir IDE 打开项目
  4. 点击运行按钮启动游戏

开发者

onble

参考资料

Laya - 头顶足球

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published