官方太空射击游戏总结
- 很大一部分问题是碰撞体,刚体,还有碰撞器里面Is Trigger的勾选问题。这些问题在上一篇里面解释的很清楚了。
- 实现石头自动旋转功能:GetComponent<Rigidbody>().angularVelocity = Random.insideUnitSphere * tumble;
- 实现石头一波一波下降并终止游戏的功能:
思路:首先实现一个石头的正常下降,之后实现多个石头的正常下降(for),再实现多个石头持续下降(while)。然后是比较难的,控制石头多久下降,以及多久开始游戏。
代码://这个代表协同程序,在Start()函数中要使用StartCoroutine(StoneDrow());
IEnumerator StoneDrow()
{
yield return new WaitForSeconds(startWait);
while (true)
{
for (int i = 0; i < 5; i++)
{
Vector3 place = new Vector3(Random.Range(-stonePosition.x, stonePosition.x), stonePosition.y, stonePosition.z);
Quaternion angle = Quaternion.identity;
Instantiate(manyStone, place, angle);
yield return new WaitForSeconds(spawnWait);
}
yield return new WaitForSeconds(waveWait);
if (gameover)
{
RestartText.text = "Please input 'R' to restart";
restart = true;
break;
}
}
}
- 实现石头不能越出边界的功能:添加Plane 去掉Mesh Render
- 控制飞机的移动范围:使用Mathf.Clamp(value,xMin,xMax)
- 实现分数的统计功能:首先要有一个共有函数实现增加分数的功能,然后在石头摧毁的时候调用这个函数,
- 实现用键盘和鼠标两种方法控制飞机的移动: 代码1.float x = Input.GetAxis("Horizontal")*Time.deltaTime*speed;
- float z = Input.GetAXIS("Vertical")*Time.delatTime*speed;
- transform.Translate(x,0,z);
- 2.
IEnumerator OnMouseDown()
{
Vector3 scenceSpace = Camera.main.WorldToScreenPoint(transform.position);
Vector3 offer = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, scenceSpace.z));
while (Input.GetMouseButton(0))
{
Vector3 curs001 = new Vector3(Input.mousePosition.x, Input.mousePosition.y, scenceSpace.z);
Vector3 curpos = Camera.main.ScreenToWorldPoint(curs001) + offer;
transform.position = curpos;
yield return new WaitForFixedUpdate();
}
}
转载于:https://www.cnblogs.com/chiwang/p/7510645.html
官方太空射击游戏总结相关推荐
- iOS游戏开发之使用 Spritekit 框架和 Swift 的 iOS 2D 太空射击游戏(教程含源码)
实战需求 使用 Spritekit 框架和 Swift 的 iOS 2D 太空射击游戏 本文价值与收获 看完本文后,您将能够作出下面的界面 实战代码 1.主界面 import SpriteKit im ...
- 【githubshare】基于 C 语言编写的一款 2D 太空射击游戏,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试
基于 C 语言编写的一款 2D 太空射击游戏:space-shooter.c,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试. GitHub:github.com ...
- mac太空射击游戏:Nova Drift (新星漂移)中文版
Nova Drift是一款激动人心的太空射击游戏. Nova Drift Mac整合了现代独立游戏风格和游戏历史上最深的根源.它不仅具有时尚和性感的外观,而且具有平稳的控制功能.玩家控制着一艘不断开发 ...
- 发个2D太空射击游戏代码
很久前写的一个 2D 太空射击游戏,使用的是 DirectX 库和 C++ 开发. 现在看来程序结构虽不算合理,但是里面基本包括了一个 2D 太空射击游戏的基本元素:卷屏,碰撞检测,不同类型的敌人和 ...
- 对 Unity 太空射击游戏的实践
写在前面 # 本次 Space Shooter 实践通过实现以下功能达到加深对 U3D 游戏开发的认知. 键盘控制飞船移动; 发射子弹设计目标; 随机生成大量障碍物; 计分; 实现游戏对象的生命周期管 ...
- unity官方教程 太空射击---问题填坑 之 计分以及游戏胜利
(本文仅供自己参考,文中代码可能有误,毕竟手打没有VS的帮助,请仅供理解,切莫复制粘贴)原来的代码还是不理解为什么,但现在有了新的方法,前排提醒,一下方法会与官方教程出现巨大误差,请理解后使用 首先我 ...
- fastreport 打印有 demo version字样_PC太空射击《永恒空间2》免费Demo版推出!支持简中...
德国的独立开发商ROCKFISH Games旗下太空射击游戏<永恒空间2(Everspace2)>的Demo版现已推出. 本作是2017年5月发售的以宇宙空间为舞台伴随着Rogue-lik ...
- Unity空间射击游戏开发教程
描述 在本课程中,您将学习如何在unity中制作一款太空射击游戏.本课程使用全新的特性和编码实践,并且兼容所有较新版本的unity. 了解如何使用世界领先的免费游戏开发工具Unity创建太空射击游戏. ...
- 太空射击第11课: Sound and Music
Sound and Music 在本课中,我们将为游戏添加音效和音乐.在这里可以下载太空射击游戏素材 视频 您可以在此处观看本课程的视频: 声音的力量 良好的音频是为游戏添加"果汁" ...
- 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流...
[初阶]unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流 一.关于 显示分数时,如何让函数之间相互交流 这是一个非常好的逻辑问题 1 思路:主 ...
最新文章
- 集群调度架构的变革 (二)
- 【深度学习】深度学习两大基础Tricks:Dropout和BN详解
- Dubbo(八)之API 配置
- 42表盘直径是从哪测量_万用表测量电容容量的方
- WPS 国际版 Remove ads
- 线阵相机、镜头及光源的选型
- 理财产品收益计算公式揭密,破解6种获利模式
- Python xlwt 操作 excel 表格基础(三):单元格格式、字体格式、对齐方式、边框及填充等
- 中国电子学会C++软件编程一级—六级历年真题模拟题题库260题及参考答案第六版 (星卯教育)TB
- 参心坐标系与地心坐标系
- 北洋 Hokuyo 激光雷达 在ROS下的使用
- 2022年最细Java 17新特性,是真的猛,被征服了!
- 小米笔记本桌面没有计算机,没有4K屏幕,只有3.5K,小米笔记本真好用吗?
- RadioButton前面的小圆圈颜色设置
- Linux自动巡检脚本
- STM32-点亮一盏灯
- python程序语言和机器人控制系统_机器人十大流行编程语言,机器人编程系统以及方法...
- ansible 高级自动化变量及变量过滤器
- GO 学习笔记(四)GORM框架
- 短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求
热门文章
- 观测云产品更新|新增阿里云账户结算方式;新增 DQL 查询查看器;新增基础设施网络模块等
- 病毒木马查杀实战第011篇:QQ盗号木马之专杀工具的编写
- 计算机无法识别建行网银盾,建行网银盾无法识别怎么办 几招办法教你轻松解决...
- 基于人工势场法的车辆编队轨迹规划matlab仿真验证
- 三级指标 主成分分析_一文看懂主成分分析(PCA)
- 算法设计与分析——顺序统计量:最大值与最小值
- 中国IT产业未来在哪里
- python怎么让矩阵内所有元素自己平方_python numpy库中矩阵用法指南
- 基于K-means的彩色图像聚类之代码实现
- vmware虚拟机C盘扩容