游戏开发
笔圣
做一个专注的人。
展开
-
开发ARPG游戏的角色基础属性系统
角色基础属性系统开发在大多数ARPG游戏里面有很多角色,每个角色都有自己的一些基础属性,根据我以往的游戏体验经验,我来总结一下:所有角色共有的状态信息:1.当前生命值2.最大生命值3.当前魔法值4.最大魔法值5.伤害基数6.攻击速度7.攻击距离8.受伤9.死亡不管主角还是游戏中的一些怪物,都拥有以上的这些状态,那我们可以提取一个共同的父类,就叫角色状原创 2017-05-06 22:30:18 · 2798 阅读 · 0 评论 -
UI游戏框架(一)
UI游戏框架简介 MVC 框架(设计模式) 大型游戏项目中,没有UI框架容易导致与出现的问题:问题1; 以ARPG为例,多个场景会反复出现相同的“UI窗体”,造成多个场景中反复加载相同的UI窗体。解决思路: “UI框架” 需要缓存项目(例游戏项目)中常用的“UI窗体"。 问题2: 开发商业复杂项目时,各个UI(UI脚本)转载 2017-09-25 21:26:12 · 886 阅读 · 0 评论 -
游戏开发之NGUI使用笔记
游戏开发之NGUI使用笔记l 图集Atlas精灵图集:->制作图集:1. 2. 3. 选择需要的图片4. 点击Create即可形成图集l 按钮制作:1. 创建Sprite,选择Sprite,鼠标右键选择Attach,添加BoxCollider 2. 选择Sprite,鼠标右键选择Attach,添加ButtoneScript3.注意:如果是通过原创 2017-09-02 12:18:50 · 356 阅读 · 0 评论 -
UI游戏框架(二)
为降低难度决定先讲解一个最简版本,阐述UI框架的核心设计理念。这里先定义三个核心功能: 1:UI窗体的自动加载功能。 2:缓存UI窗体。 3:窗体生命周期(状态)管理。 UI框架设计主要目的,就是尽可能的完成一些与具体游戏功能逻辑无关的一些底层事务性的功能实现。这些功能最好是自动或者是半自动的实现,无须客户程序(调用框架的程序)再去过多处理与关心原创 2017-09-28 21:11:05 · 311 阅读 · 0 评论 -
UI游戏框架(三)
UI游戏框架(三)UI框架中UI窗体的“层级管理”,最核心的问题是如何进行窗体的显示管理。窗体(预设)的显示我们前面定义了三种类型: 普通、隐藏其他、反向切换。代码如下: /// /// UI窗体显示类型/// public enum UIFormsShowMode{Normal, //普通显示ReverseChange, //反向切换 HideO原创 2017-10-06 12:36:17 · 306 阅读 · 0 评论 -
Socket网络通信(三)
Socket网络通信(3)在上次的笔记中,其实是留了一个小的隐患,做过测试的人可能会发现,客户端接收数据只能接收一个,因为Accept方法是个阻塞方法,为了让客户端或服务器一直去接收消息,我们可以用个While循环,让socket一直处于接收状态。while (true) { //等待客户端连入原创 2017-11-03 21:23:52 · 580 阅读 · 0 评论 -
VS调试WEB端程序时,找不到w3wp.exe进程
1、在IIS中部署好站点,确保有一个应用程序池在跑。2、设置好断点后,调试——>附加到进程,勾选“显示所有用户的进程”,在英文输入法的状态下,按下‘W’键,快速找到‘w’开头的‘w3wp.exe’。3、接下来逐语句还是逐过程调试就不在赘述。转载 2017-11-17 21:03:30 · 5512 阅读 · 0 评论 -
制定通信协议
制定通信协议 一 什么是制定通信协议? 客户端在和服务器进行通信的时候,为了让双方都能辨别接收到的消息的内容,由发送方和接收方而制定的相关约定。二 为什么制定通信协议?在大型的网络游戏中,客户端和服务器发送的消息会很多很多,我们为了方便管理和区分这些消息,所以需要制定一些协议。比如说游戏登陆的时候,需要向服务器发送登陆的信息,我们把信息封装在登陆协议里面,直接把登陆协议发送原创 2017-11-20 15:35:48 · 2696 阅读 · 0 评论 -
登陆注册模块解析
登陆注册模块解析一 效果图展示1. 登陆效果图 2. 注册效果图 二 功能描述1. 登陆界面功能描述A.输入账号和密码,然后点击登陆按钮,就可以跳转到下一个界面B.如果用户没有账号,可以点击注册按钮,跳转到注册界面2. 注册界面功能描述A.在输入框输入相应的注册信息,然后点击登陆按钮,跳转到创建角色的界面B.如果用户有账号,不小心进入到注册界面,那么原创 2017-11-20 16:41:31 · 8633 阅读 · 0 评论 -
热更新学习笔记(一)
Lua学习一、什么是热更新? 举例来说吧,游戏上线之后,玩家下载第一个版本(70M左右或者更大),在运营的过程中,如果需要更换UI显示,或者修改游戏的逻辑,这个时候,如果不使用热更新,就需要重新打包,然后让玩家重新下载(浪费流量和时间,对于玩家的体验不好)。现在大部分游戏都是使用热更新了。热更新可以在不重新下载客户端的情况下,更新游戏的内容。热更新一般应用在手机网游上。二、原创 2017-11-27 19:22:22 · 419 阅读 · 0 评论 -
架构和框架的区别
架构和框架的区别框架: 现象:公司会有现成的框架,新项目要先选择框架或者开发框架,模块化开发的时候模块负责人要基于框架进行开发 1、定义: 框架(framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法,另一种定义为,框架是可被翻译 2017-09-25 21:16:02 · 1210 阅读 · 1 评论 -
游戏开发之用摇杆控制摄像机的移动旋转缩放
游戏开发之用摇杆控制摄像机的移动旋转缩放注意:需要用到的插件EasyTouch 5.x 下面是我在Unity中关于控制Camera的一些功能进行设计的物件搭建,分为五个层级,每个层级的transform的position都是(0,0,0),最后一个层级是用来显示场景的Camera。这样搭建的好处是为了方便分别控制Camera的移动旋转和距离目标物体的远近。然后我给CameraFo原创 2017-08-31 09:58:30 · 1752 阅读 · 0 评论 -
开发角色动画系统
角色动画系统我们先思考一个问题,在游戏里面那些地方需要用到动画,技能释放的时候播放技能动画,走路的时候播放走路动画,攻击的时候播放攻击动画,待机的时候播放待机动画等,还有呢,动画播放的时候还会触发对应的事件行为,比如说,播放攻击动画的时候攻击敌人,当玩家的手离开操作摇杆时,从跑的动画切换到待机动画等。经过分析呢,我们写两个类,一个类呢专门处理动画播放,叫CharacterAnimation原创 2017-05-07 13:26:55 · 348 阅读 · 0 评论 -
开发角色运动系统
角色运动系统我们今天写角色的运动系统,也就是驱动角色运动的马达,经过了解和分析,我们能确定arpg游戏里的角色一般有移动和旋转的行为,那既然有移动和旋转的功能,肯定有移动速度和转向速度,Unity里面有自带的角色控制器,我们可以用这个作物理运动的碰撞检测等,那我们今天写一下这个类,我们这个类能给其他类提供移动速度和转向速度,还有移动功能和旋转功能,所以他们应该都用public。 usi原创 2017-05-07 17:01:06 · 314 阅读 · 0 评论 -
开发角色输入控制系统
角色输入控制系统我们现在有角色的驱动系统了,那我们今天分析一下怎么去操作让角色动起来呢?我们都在手机上见过摇杆吧,拖动摇杆控制角色的移动和转向,点击按钮释放技能,相信大家都见过的,那我们为了节省时间,减少开发的工作量,我们今天用一个插件EasyTouch,集成度挺高的,主要就是用来控制用户的输入。那我们就叫这个类为CharacterInputController。首先呢,在Unity原创 2017-05-07 21:12:22 · 223 阅读 · 0 评论 -
游戏开发之NGUI字体集制作
游戏开发之NGUI字体集制作为什么要用字体集呢?简单说一下原因,如果我们使用电脑字体库里的某种字体,比如说黑体,我们把它当成资源导入到自己的项目中,它本身就占用内存就10M,打包的时候呢,也会把它打包进去,为了尽量减少内存,减少不必要的内存开销,我们可以制作自己的字体集。还有一个原因呢,就是我们在游戏里面可能会用的文字不会很多,有的字呢,用一次就够了,所以导入一个占用内存大的字体包,不如自己制原创 2017-08-31 12:13:46 · 1086 阅读 · 0 评论 -
游戏开发之UGUI工具类
游戏开发之UGUI工具类在使用UGUI中的Button控件的时候,每次给Button添加绑定一个事件的话,都得调用它的OnClick.AddListener(传方法名),绑定一个方法,但是随着界面越来越复杂,Button也越来越多的时候,如果我们还是这样挨个绑定的话,会增加很多重复的代码,怎么样处理这种情况呢?我们先了解一下Butoon绑定事件的原理,我们知道两个不同的类调用方法的时候,在不n原创 2017-08-28 09:26:56 · 455 阅读 · 0 评论 -
游戏开发之U3D插件EasyTouch5.x使用
游戏开发之U3D插件EasyTouch5.x使用本篇只讲EasyTouch5.x的使用,不讲源码。本来想把EasyTouch5.x的使用手册翻译一遍,想来也是没那个时间。第一步,导入EasyTouch5.x.packge,途径有两种,1.去UnityAssetStore下载最新版本的EasyTouch插件,或者2.去导入其他童鞋下载好的资源包,当然土豪最好自己购买一下吧,毕竟还是得原创 2017-08-29 10:07:39 · 4545 阅读 · 2 评论 -
游戏开发之U3D实现技能图标冷却的效果
游戏开发之U3D实现技能图标冷却的效果 --本次使用的NGUI插件。 制作思路:NGUI插件里面有个UISprite组件,在它上面有个属性叫Type,改变相应的Type类型有不同的作用,本次使用的类型为Filled。如下图:原创 2017-08-30 12:16:27 · 955 阅读 · 0 评论 -
Unity中类的关系继承图
Unity中类的关系继承图原创 2017-08-31 08:28:09 · 1457 阅读 · 0 评论 -
Unity中的脚本生命周期图
Unity中的脚本生命周期图原创 2017-08-31 08:30:54 · 304 阅读 · 0 评论 -
数据的序列化(all Type to Byte[])
数据的序列化(all Type to Byte[])一 因为我们用的socket是stream类型的 mySocket = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 序列化的作用:方便数据的持久化存储(必须说,文件形式存储到硬盘上)和网络传输。 二 数原创 2017-11-19 20:17:17 · 979 阅读 · 0 评论