Unity4.3游戏开发项目实战(龚老师编著)第二章太空射击

1、摄像头:透视投影Perspective和正交投影Orthographic的区别。这是个2D游戏,所以选择后者。

2、碰撞检测:游戏里飞机发射子弹击碎岩石,岩石撞碎飞机都需要用到碰撞检测。

碰撞检测过程中需要为撞击与被撞击物体加上碰撞体。子弹使用胶囊碰撞体(CapsuleCollider),飞机和岩石使用立方体碰撞体(Box Collider),并且勾选Is Trigger选项。

撞击者(攻击方)需要添加刚体(Rigidbody)。

撞击响应函数这里使用的是void OnTriggerEnter(Collider other),其中用other.tag == "Player"(飞机的tag是Player)来判断是否碰撞到了飞机,而projectile则是子弹。 http://blog.csdn.net/Monzart7an/article/details/22739421这篇文章详细分析了碰撞检测。

3、动画:岩石被击碎和飞机爆炸都会有爆炸动画。岩石爆炸总共有7帧图像,打包成一幅308*49的图片。所以可以设置Tiling属性的X=0.143表示只显示原图X轴的七分之一,而改变Offset中的X则可显示不同帧画面。这里直接贴代码:

using UnityEngine;
using System.Collections;public class ExplosionController : MonoBehaviour {public int index = 0;public int frameNumber = 7;float frameRate = 0;float myTime = 0;int myIndex = 0;// Use this for initializationvoid Start () {frameRate = 1.0f / frameNumber;  }// Update is called once per framevoid Update () {myTime += Time.deltaTime;myIndex = (int)(myTime * frameNumber);index = myIndex % frameNumber;renderer.material.mainTextureScale = new Vector2 (frameRate, 1);renderer.material.mainTextureOffset = new Vector2 (index * frameRate, 0);if (index == frameNumber - 1) {Destroy (gameObject);}}
}

4、记录最高分数:其实就是保存和读取一个变量到本地。这里使用的是PlayerPrefs.SetInt("highScore")和PlayerPresf.GetInt("highScore")的方法,u3D会将变量名和值保存为键值对的形式。

5、切换场景:首先定义不同的场景(New Scene),调用Application.LoadLevel("场景名”)。

Unity3D 太空射击游戏学习笔记相关推荐

  1. 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流...

    [初阶]unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流 一.关于 显示分数时,如何让函数之间相互交流 这是一个非常好的逻辑问题 1 思路:主 ...

  2. 【githubshare】基于 C 语言编写的一款 2D 太空射击游戏,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试

    基于 C 语言编写的一款 2D 太空射击游戏:space-shooter.c,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试. GitHub:github.com ...

  3. UE4创建第一人称射击游戏学习教程

    Unreal Engine 4: Create Your Own First-Person Shooter MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言 ...

  4. UE4创建第一人称射击游戏学习教程 Unreal Engine 4: Create Your Own First-Person Shooter

    UE4创建第一人称射击游戏学习教程 本课程包含38节视频课,将逐步指导您完成以下主题: 云桥网络 平台获取课程! 如何创建6种可定制的武器(包括手枪.突击步枪.猎枪.狙击枪.榴弹发射器和火箭发射器) ...

  5. iOS游戏开发之使用 Spritekit 框架和 Swift 的 iOS 2D 太空射击游戏(教程含源码)

    实战需求 使用 Spritekit 框架和 Swift 的 iOS 2D 太空射击游戏 本文价值与收获 看完本文后,您将能够作出下面的界面 实战代码 1.主界面 import SpriteKit im ...

  6. mac太空射击游戏:Nova Drift (新星漂移)中文版

    Nova Drift是一款激动人心的太空射击游戏. Nova Drift Mac整合了现代独立游戏风格和游戏历史上最深的根源.它不仅具有时尚和性感的外观,而且具有平稳的控制功能.玩家控制着一艘不断开发 ...

  7. 发个2D太空射击游戏代码

    很久前写的一个 2D 太空射击游戏,使用的是 DirectX 库和 C++ 开发. 现在看来程序结构虽不算合理,但是里面基本包括了一个 2D 太空射击游戏的基本元素:卷屏,碰撞检测,不同类型的敌人和 ...

  8. Unity3D FPS射击游戏

    FPS射击游戏 前言 一.TapTap链接 二.游戏运行截图 总结 前言 抗日期间,一名士兵无意间得到了一张藏宝图,打开地图的一瞬间被传送到了外星球,心生贪念的士兵开启了寻宝之旅,士兵需要闯过重重关卡 ...

  9. Unity3D游戏学习笔记1

    理解游戏元素  1. <星际争霸>  简单介绍:这是暴雪娱乐制作发行的一款即时战略游戏.这是星际争霸系列游戏的第一 部作品,于 1998 年 3 月 31 日正式发行.游戏拥有 3 部资 ...

  10. 对 Unity 太空射击游戏的实践

    写在前面 # 本次 Space Shooter 实践通过实现以下功能达到加深对 U3D 游戏开发的认知. 键盘控制飞船移动; 发射子弹设计目标; 随机生成大量障碍物; 计分; 实现游戏对象的生命周期管 ...

最新文章

  1. 技术久了,偶尔放松下吧,看看这些小样,很美好!
  2. optee内存管理和页表建立
  3. 如何产生QPSK信号
  4. juc是什么java_JUC简介
  5. 学生学籍管理系统python_使用Python实现 学生学籍管理系统
  6. aso优化师是什么_出海产品如何优化ASO?Google Play ASO优化入门指南
  7. 2.5配置自定义HttpMessageConverters
  8. PADS 管脚编号全部修改方式
  9. HBase集成(准备篇)
  10. 基于WebRTC搭建直播系统源码
  11. Java线程何时放弃CPU时间片
  12. 苹果开发者中心添加UDID设备教程(及获取苹果手机的UDUD)
  13. RationalDMIS 2020 编程技巧
  14. Ubuntu 15.04 搜狗输入法 无法切换到英文输入
  15. 六度分离 (dijkstra)
  16. 计算机30首音乐怎么开,qq每日精选_qq音乐每日精选30首在哪找
  17. CrawlSpider实现微信小程序社区爬虫【python爬虫入门进阶】(18)
  18. 如何设置外部链接优化
  19. android游戏开发原理及关键技术
  20. C# winform源码下载 带条码打印的固定资产管理系统源码 VS2010

热门文章

  1. oracle表空间加密
  2. 如何下载一个网页的背景图片
  3. 物联网操作系统的概念和特点
  4. 微生物组-扩增子16S分析和可视化(2022.10)
  5. editplus mysql模板_editplus下载
  6. 能量时域空间物理_能量态空间
  7. 苹果将在WWDC首日举行“现场特别活动” 邀请函抽签决定
  8. 疫情下技术人的宅家指南
  9. 计算机C盘空间减少,为何我的C盘空间突然减少好几个G?
  10. oracle 批量修改同义词,Oracle批量创建同义词