涂鸦弹跳游戏截图

游戏类型:2D跳跃类

游戏风格:简朴

游戏技术分析:

1、实现玩家弹跳功能

利用2D刚体直接添加一个向上的Impluse冲击力即可,加力之前将刚体velocity速度设置为0

2、游戏物体分析

2.1、Tile落脚点方块

分为六种:普通(绿色)、强力弹簧(红色)、坏的(灰色)、只能弹一次的(黄色)、左右移动的(蓝色)、上下移动的(蓝色)。

当玩家刚体y轴速度为负数时(即下落状态),触碰到Tile则会触发相应的事件,如:红色的会让玩家弹得更高,灰色的不会让玩家弹,而是自己会掉落,掉落逻辑是给Tile的刚体添加重力,玩家死亡时也会掉落处理方法一样。

2.2、道具

道具仅有飞行器(2种类型),飞行器可以让玩家向上飞,即直接用Translate方法向上移动即可,玩家飞行时是不会受到重力影响的!

2.3、怪物

怪物的处理基本是有左右移动的 或者不会动的,需要设置移动速度、移动范围,碰到玩家后游戏结束,被子弹打中后会怪物死亡。

3、利用资源池缓存以上物体,因为会经常使用。

资源池是使用了队列Queue来进行缓存的,实现非常简单,就只是为每种物体创建一个队列进行缓存,在游戏开始时实例化一堆物体,放入队列,当需要拿的时候从相应队列取出,PS:回收回去的时候记得要恢复默认状态。

4、各种物体实例化的位置和比率问题

4.1、Tile物体是随机生成位置的,其类型也是随机的,是通过一个类为每种Tile设置权值weight,而生成哪种Tile是根据其weight临界点与从[0~总权值]范围随机出的数进行比较得知,举例如:绿色(50),红色(30),黄色(20),灰色(10),蓝色(10) 那么总权值就是50+30+20+10+10=120, 随机数在[0,120]之间,而其绿色临界点是50,红色是80,黄色100,灰色110,蓝色120,只要随机数小于等于临界点,就生成哪种Tile,注意判断顺序是从小到大的临界点判断的,例如:随机数是40,那么在第一个判断40<=50就满足条件了,如果是80,那么在第二个判断才满足条件。

4.2、怪物先考虑要不要生成,其次是生成什么类型怪物是直接平均随机的,即若有3种怪物就是1/3几率。

4.3、道具如飞行器仅有一个,考虑的问题是要生成 还是不要生成,首先是考虑生成不生成,其次是考虑生成什么类型 也是平均几率随机。

5、摄像机跟随玩家功能

按照我目前理解是,当玩家头顶上的空物体(即目标物体target)大于屏幕中心点位置后,摄像机会逐渐向 摄像机位置+(屏幕中心点指向目标物体target)的位置进行靠拢。(有点混乱,一般是摄像机保持与玩家初始的向量偏移,即时时跟随玩家,玩家怎么动,摄像机就怎么动!而这种是只有当玩家头顶的空物体超过屏幕中心点后,摄像机才会向上偏移,注意摄像机不会向下跑的了!!!)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class FollowTarget : MonoBehaviour {public Transform target;Vector3  velocity = Vector3.zero;float dampTime = 0.5f;private void Update(){if (target){Vector3 pos = Camera.main.WorldToViewportPoint(target.position);//目标位置与视口中心点位置的向量Vector3 delta = target.position - Camera.main.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, pos.z));Vector3 destination = transform.position + delta;//摄像机x轴不移动destination.x = 0;//当delta为正向值时,即目标位置大于中心点位置时,该条件成立if(destination.y > transform.position.y){//缓慢地改变位置朝着目标位置移动transform.position = Vector3.SmoothDamp(transform.position, destination, ref velocity, dampTime);}}}
}

【Unity游戏开发笔记】手游-涂鸦弹跳开发分析相关推荐

  1. 视频教程-H5入门-系列手机游戏开发-过河-手游开发

    H5入门-系列手机游戏开发-过河 20年软件项目开发管理经验 工信部人才交流中心特聘专家讲师 日本U-CAN在线教育特聘主任讲师 国家十二·五规划软件工程教材作者(书:清华大学出版社出版) 中国软件行 ...

  2. 视频教程-红孩儿网狐Cocos经典棋牌开发教程-手游开发

    红孩儿网狐Cocos经典棋牌开发教程 中国早期游戏程序员,2003年起从事游戏程序开发,负责开发过多款游戏项目,曾担任大型端游<无限世界>自研引擎技术负责人,2012年起关注Cocos引擎 ...

  3. Unity 游戏黑暗之光笔记第五章 背包系统的实现

    Unity 游戏黑暗之光笔记 第五章 背包系统的实现 详细过程参考,笔者一直有BUG--导致后面的很多内容没法写全 1.开发功能按钮 注意Anchors的位置,可以让图标在窗口变化时保持相对位置不会变 ...

  4. Unity 游戏黑暗之光笔记第一章 完善场景

    Unity 游戏黑暗之光笔记 第一章 完善场景 1. 导入资地形.地貌资源,新建场景,导入地形.地貌prefab 2. 设置相机与视野匹配 选中主摄像机,点选菜单栏中GameObject > A ...

  5. Unity 游戏黑暗之光笔记第四章 任务系统的实现

    Unity 游戏黑暗之光笔记 第四章 任务系统的实现 具体步骤可以看RPG游戏<黑暗之光>流程介绍与代码分析之(四) 注意要点 在把鼠标放在任务面板上点击时,为了让角色不移动,在Playe ...

  6. 【放置江湖】弱联网手游,网络协议分析修改。每天签到可获得35元宝

    [放置江湖]弱联网手游,网络协议分析修改教程. 每天签到可获得35元宝,开启方法,WLAN ->已连接的wifi (>)小图标 -> 代{过}{滤}理 ->代{过}{滤}理自动 ...

  7. ATECC508A芯片开发笔记(二):开发准备之 CryptoAuthLib 库简介与移植

    目录 ATECC508A芯片开发笔记(二):开发准备之 CryptoAuthLib 库简介与移植 Atmel两个官方lib介绍 一.CryptoAuthLib简介 Lib中最主要的三种对象类型: 二. ...

  8. 硬件开发笔记(六): 硬件开发基本流程,制作一个USB转RS232的模块(五):创建USB封装库并关联原理图元器件

    `该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/125369228 红胖子网络科技博文大全:开发技术集合( ...

  9. 硬件开发笔记(八): 硬件开发基本流程,制作一个USB转RS232的模块(七):创建基础DIP元器件(晶振)封装并关联原理图元器件

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/125370284 红胖子网络科技博文大全:开发技术集合( ...

最新文章

  1. create-react-app 2.0中使用antd(eject)
  2. Terraform 是什么?
  3. 30幅非常漂亮的微距摄影作品欣赏
  4. 大型高并发高负载网站的系统架构(转)
  5. hashmap boost
  6. Spring+Mybatis多数据源配置(二)——databaseIdProvider的使用
  7. linux中_在 Linux 桌面中开始使用 Lumina | Linux 中国
  8. fabric.js 不同类型 不同控件_策略模式支持不同类型的消息队列
  9. html页面性能优化两则
  10. 大数据只做三件事,对用户的理解、对信息的理解、对关系的理解
  11. Java编译出现不可映射字符
  12. 追光的人beta冲刺总结
  13. 刷题集--贪吃的九头龙
  14. 狗是人类最忠诚的伙伴,当狗遇到不同的人会有不同的反应,下面要求编写一个案例模拟狗遇到不同的人时的反应。
  15. 数值分析(7)-非线性方程求根
  16. ERROR 1010 (HY000): Error dropping database (can't rmdir './library', errno:
  17. 快速上手Django(二) Django 根据模型(models)生成更新数据库表make migrations
  18. mac 爱普生打印机驱动_爱普生l201打印机驱动下载Mac版-爱普生L201驱动Mac版下载 V8.7.5-PC6苹果网...
  19. linux(centos7)内核升级
  20. 关机整蛊小程序(c语言实现)

热门文章

  1. 二叉树输出(凹入表示法)
  2. 文件下载到本地的几种方法
  3. Windows操作系统类毕业论文文献有哪些?
  4. vue模板里面直接调用methods里面的方法方式
  5. QT pri 文件的作用
  6. 在贵州大数据峰会上,马云再次语出惊人!
  7. 一个软件开发者的BPM之路
  8. 【转】125个常用拉丁语词根
  9. fing网络扫描仪android,Fing网络扫描仪
  10. pika rabbitmq ssl