Unity2D 街机风太空射击游戏 学习记录 #12QFramework引入

概述

这是一款基于Unity引擎开发的2D街机风太空射击游戏,笔者并不是游戏开发人,作者是siki学院的凉鞋老师。

笔者只是学习项目,记录学习,同时也想帮助他人更好的学习这个项目

作者会记录学习这一期用到的知识,和一些代码逻辑。

项目地址: 学习地址

由于笔者已经跟着视频做了10期,所以这个记录博客不会很连贯。

这里笔者也把自己跟做的项目开源到了码云上
项目地址

QFramework是什么

QFramework 是一个轻量级、模块化的 Unity 游戏开发框架,旨在帮助开发者快速构建高效、可维护的游戏项目。

相关代码优化

生成随机道具部分的代码

使用qf里面的RandomUtility.Choose(),优化生成随机道具的代码

cpp 复制代码
                //从后面随机生成一个
                MonoBehaviour powerUpTemplate = RandomUtility.Choose<MonoBehaviour>(Game.Default.powerUpGhost, Game.Default.powerUpSpread, Game.Default.powerUpCircle);
                //克隆一个进行展示
                MonoBehaviour powerUp = Instantiate(powerUpTemplate, null);
                powerUp.transform.position = other.transform.position;
                powerUp.gameObject.SetActive(true);

数值计算

原代码: float angle = Mathf.Atan2(transform.up.y, transform.up.x) * Mathf.Rad2Deg;

在Unity中,transform.up是物体Y轴方向,类型是Vector3

Mathf.Atan2(y, x)用于计算 从原点 (0,0) 指向点 (x,y) 的向量与 X 轴正方向的夹角(弧度制)。

最后再将弧度转为角度。

优化代码:float angle = transform.up.ToVector2().ToAngle();

ToVector2()可以快速将Vector3转化为Vector2

ToAngle()可以计算Vector2方向对应的角度(夹角x轴)

相关推荐
gjf05_0526 分钟前
人该怎样活着呢?版本75.8
学习
li星野2 小时前
【学习记录】PCB与PCBA核心知识全解析:从设计到制造的关键细节
学习·制造
卿卿的产品经理日记2 小时前
【AI产品经理实战】Day 35|从“沉迷工具“到回归 AI 底层:Skill 收官、系统复盘与下一个 13 天
人工智能·学习·产品经理
myshare20223 小时前
Dungeon Saga 常用词中英文对照表(阵营 / 品质 / 部位 / 套装 / 属性 / 套装效果)
游戏·dungeon saga·链游攻略
一条泥憨鱼3 小时前
【从0开始学习计算机网络】| ARP 协议:地址解析,ARP 欺骗,链路层寻址
网络·后端·学习·计算机网络
薛定谔的猫-菜鸟程序员3 小时前
上传试卷、打Boss,玩游戏:我用 TextIn xParse 做了一套“会解析试卷的刷题游戏“
人工智能·游戏·大模型·textin·ai数据层基础设施
HY小宝F4 小时前
树莓派智能摄像头系统 30 天重学计划之 Day 04 · HTTP / API:控制链入口 —— 学习总结
网络协议·学习·http
lkjaslkdj5 小时前
游戏指套戴在食指上,为什么套口下缘先被汗浸出一圈深色硬边、像被盐水泡过发脆,而中指戴同款只留下浅色汗印?
游戏
悟乙己5 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:赛题解析(一)
笔记·学习·金融
霍霍的袁5 小时前
【C++】哈希表实现指南:从原理到开放定址法、链地址法的实现
c++·学习·哈希算法·散列表·visual studio