| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 小游戏实现逻辑学习总结 -> 正文阅读 |
|
[游戏开发]小游戏实现逻辑学习总结 |
本文的小游戏的引擎是laya和cocos引擎,相关逻辑可以复用鼠标按住 ????????1.如果是在按住期间一直执行,可以通过down?和up配合?设置一个bool值,在update 里面执行判断 ????????2.如果是在按住期间多久后执行,可以在down进行延时调用,在在up里面取消延时, 中间设置一个变量来判断是否正在执行 拖动3D物体 ? ? ? ? 1.通过射线检测获得所需要的物体,并保存下来 ? ? ? ? 2.通过鼠标位移量来计算物体的位置并加给物体,注意松开时如果在屏幕外时不会触发up的方法。会导致一直进行 ? ? ? ? 3.鼠标有一个超出屏幕时的方法,可以通过这个在鼠标移出时调用 ? ? ? ? 4.通过设置偏移量的比例来控制灵敏度和游戏体验 双指拖动旋转 ? ? ? ? 1.先在点击的触发事件里,通过传入的参数e?来获得触点的数量,如果数量符合计算以其中一个触点为轴心的角度Math.atan2,并保存下来,并监测鼠标移动事件 ? ? ? ? 2.在鼠标移动监测事件中通过传入的参数e?来获得触点的数量,如果数量符合计算以其中一个触点为轴心的角度Math.atan2,并通过180 / Math.PI * (当前角度 -保存的角度)来计算需要旋转多少,并把当前角度存储起来, ? ? ? ? 3.同时需要注意在移出和抬起事件中取消对移动事件对监听 双指拖动缩放 ? ? ? ? 1.先在点击的触发事件里,通过传入的参数e?来获得触点的数量,如果数量符合计算两个点之间对距离,并保存下来,并监测鼠标移动事件 ? ? ? ? ?2.在鼠标移动监测事件中通过传入的参数e?来获得触点的数量,如果数量符合计算两个点之间对距离,并通过当前距离 -保存的距离来计算需要缩放和比例,并把当前距离存储起来, ? ? ? ? 3.同时需要注意在移出和抬起事件中取消对移动事件对监听 遮罩-放大镜(2D) ????????放大的图在拖动时要反向移动,因为轴点都在左上角,遮罩显示区域在鼠标所在位置(也可以将图片分成网格节点,把缩放的图也等分成相同的网格节点,通过节点来控制位移) 新手引导 ????????用一个数组来存储,每一步的坐标和显示框大小(以显示物为中心计算),提示的图片或者文本,??以及对应的坐标 设置一个遮罩层对下一页的所有点击事件进行覆盖 震动效果
页面内容的一直移动
判定一个物品是否在屏幕内容
检测物品
对于音效和特效的处理 ????????1.专门写一个管理类,把需要的特效存放到对应的数组里,通过枚举变量进行调用和管理,再初始化时获得对应的特效和物品 俯视小地图、屏幕上分屏显示视角、能够看到目的地情景的传送门、狙击枪瞄准镜里的画面、引擎中的摄像机的预览、引擎中画布UI等物品都是通过rendertxture实现 (https://mp.weixin.qq.com/s/o0S45X9PH8axNfC6OoHubA) 如
//注意效果优化1.通过扩展人物对传送门的不同角度控制渲染摄像机的旋转,时传送门真的显示另外一个空间一样。 进度条(加载条)
计时器(倒计时)
怪物节点或者一些通用节点 ????????把同一类型的物体放入一个节点下,当需要共同操作时可以直接遍历这个节点子物体操作(比如释放一些全局技能时),也可以在创建时存入一个全局数组里进行操作。(前面时间换空间,后面空间换时间) ???????? 毒圈功能(毒圈收缩在中心点)(吃鸡那种任意毒圈?)
当多个物体对玩家进行影响且是通过距离判断时 ????????可以把影响方法写在人物身上,并把当前对人物造成影响的物品存储起来,判断条件时但不符合的情况只会对存储的对象进行判断(物体是不是当前影响的物体),以防其他物体一直影响到人物的状态? 随机物品生成实现
组合模式用法(可以用来合并成一个复杂的类) ????????例如人物控制有?血量和伤害??人物移动??基本配置信息??外界输入控制?模块 ????????如果写在一起就特别繁琐?不易管理和复用,通常可以写成一个个基本类,然后在主类即控制类里进行集合,相互之间的信息可以通过回调,事件传递来进行控制 小游戏常用外加功能 七日签到(签到奖励的数据(数据存储的形式,奖励类型,奖励数量),签到记录数据(已签到日子,签到次数),一个控制显示管理器(控制UI显示,控制点击事件,控制获取特效,控制获取的奖励存储),一个UI显示界面(显示界面,控制玩家的交互))(典型的MVC架构)
敌人位置显示(可以设置一个类专门计算也可以放到每一个敌人身上) (核心思想,把玩家和敌人的坐标转化为屏幕坐标,根据位置差值进行图标方向和旋转角度,难度在于距离适配刚好在屏幕之内,因为屏幕是方形且不同机型屏幕坐标不一致)
https://blog.csdn.net/hjk61314/article/details/82254381?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1.queryctr&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1.queryctr&utm_relevant_index=2 老虎机抽奖(一般是三列,抽奖的图标每一列都有)
(扩展:可以记录抽奖次数来作为累计一定时下发奖励的标准,其次还有保底,多少次必中什么等扩展) (抽奖页图标的移动类似无限翻页效果,通过在update中持续往一个方向移动,当最前面的图标超过一定位置时直接移动到最后一个图标后面 //抽奖逻辑一般在开始抽时就确定奖品是什么,然后在结束后显示到结果的那一面 轮盘抽奖
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 18:42:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |