学习笔记
文章平均质量分 67
一克拉绿豆
U3D游戏开发从业者
展开
-
Unity UI弹窗的背景虚化效果
UI弹框的虚化效果是一个比较常见的需求了,一般我们在处理弹框UI的时候,会留一个半透明的背景用来遮挡弹框底下的图层或者是场景,所以要让背景虚化可以使用这个图片。在这个图片上添加材质和写shader脚本实现模糊效果。原理就是就是每一个像素都取周边像素的平均值。 Shader "MyShader/BackBlur" { Properties { [PerRendererData] _MainTex ("Sprite Textur...原创 2020-06-17 02:56:03 · 4974 阅读 · 0 评论 -
游戏设计模式--备忘录模式
/* 游戏设计模式--备忘录模式 * 备忘录模式(Memento Pattern)又叫做快照模式(Snapshot Pattern)或Token模式,是GoF的23种设计模式之一,属于行为模式。 * 定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 * 涉及角色: * 1...原创 2018-05-16 10:00:31 · 445 阅读 · 0 评论 -
unity编辑器的简单扩展
恐怖的6月考试复习月要来了,好久没更博客了,希望这个月结束有一份好的实习,cheer up!using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class Tools { //MenuItem后面引号内是扩展的目录名,1表示优先级不...原创 2018-06-04 18:26:29 · 319 阅读 · 0 评论 -
学习游戏开发--细节笔记(持续更新)
1.Animation.CrossFafe();这个方法播放动画会更流畅。2.遇到人物行走过程模型升高的问题可以模拟一个重力让Y一直-。3.tranform.lookat()方法可以用transform.rotation=Quaternion.slerp(transform.rotation,Quaternion.lookrotation())4.伤害机制一般采用SendMessage()的来传递...原创 2018-05-21 11:10:55 · 509 阅读 · 0 评论 -
游戏性能优化--ResourcesManager对象缓冲
/* 资源加载管理器 对象缓冲技术 * 功能:可以做一个资源容器,方便动态加载资源,在unity中Resources。load<>是非常 * 消耗性能的。通过这个脚本插件可以很好的优化脚本性能。 * */using System.Collections;using System.Collections.Generic;using...原创 2018-06-16 16:58:22 · 478 阅读 · 0 评论 -
游戏性能优化--ObjectPool资源池的创建和使用
/* Object Pool 资源池 * 在游戏开发中,子弹等的反复创建和销毁是非常消耗性能的,所以可以引入资源池技术 * 当想要创建子弹时先看池子里有没有子弹,先从池子里拿,在用完之后又自动的还到池子里 * 用资源池可以很好的节约游戏性能。 * */using System.Collections;using System...原创 2018-06-11 10:00:02 · 840 阅读 · 0 评论 -
html--简单登录注册页面
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> function check(){ v转载 2018-07-26 10:14:24 · 8231 阅读 · 1 评论 -
lapis--web服务器框架
-app.lualocal lapis = require("lapis")local app=lapis.Application()app:enable("etlua")--数据库操作---[[local db=require ("lapis.db")app:match("/", function() local res = db.query("select * from ...原创 2018-07-27 18:50:00 · 917 阅读 · 1 评论 -
C#高级编程学习笔记(二)
31.比较值类型的相等性 ReferenceEquals()用于比较引用,Equals()用于比较值。比较运算符可以看作一个中间项,但最大的区别是值类型需要装箱才能把它转化为引用。32.比较运算符重载语句if(a==b)对于类,这个语句在默认状态下会比较引用a和b,检测这两个引用是否指向内存中的同一个地址,而不是检测两个实例实际上是否包含相同的数据。C#要求成对的重载运算符,比较运算符必...原创 2018-08-09 17:01:49 · 941 阅读 · 0 评论 -
C#高级编程学习笔记(一)
在公司前辈的指导下,决定再次去巩固C#语法,经过挑选,选择了《C#高级编程》这本书。这本书在对原理性的东西讲解的时候比较透彻,讲的也很深入,对于很多上学时期比较模糊的概念都给出了解答。所以做了很多笔记,贴在这里方便以后进行查阅。1.引用类型和值类型的区别?在C#中值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中。值类型(value type):byte,s...原创 2018-08-06 23:11:57 · 1763 阅读 · 0 评论 -
C#高级编程学习笔记(三)
61.异步编程async 和await 关键字在后台运行,通常在线程或任务的帮助下,并不会阻塞调用线程。3种模式:异步模式,基于事件的异步模式,基于任务的异步模式。62.进程与线程程序在启动时,系统会在内存中创建一个进程。进程是程序运行所需资源的集合,这些资源包括虚地址空间、文件句柄和其他程序运行所需的东西。在进程的内部,系统创建一个称为线程的内核对象,代表真正执行的程序。当线程被建立...原创 2018-08-30 18:17:33 · 341 阅读 · 0 评论 -
数据结构(C#版)笔记(一)
1.数据结构逻辑结构(Data Structure)数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素之间都不是孤立的,而是存在着一定的关系,这种关系称为结构(Structure)。根据数据元素之间关系的不同特性,通常有 4 类基本数据结构:(1) 集合(Set):该结构中的数据元素除了存在“同属于一个集合”的关系外,不存在任何其它关系。(2) 线性结构(...原创 2018-09-11 19:19:28 · 325 阅读 · 0 评论 -
数据结构(C#版)笔记(二)
16.双向链表在结点中设两个引用域,一个保存直接前驱结点的地址,叫 prev,一个直接后继结点的地址,叫 next,这样的链表就是双向链表(Doubly Linked List)。插入操作:➀ p.Next.Prev = s;➁ s.Prev = p;➂ s.Next = p.Next;➃ p.Next = s;删除操作:➀ p.Next = P.Next.Next;➁ ...原创 2018-09-17 11:44:53 · 245 阅读 · 0 评论 -
数据结构(C#版)笔记(三)
25.字符串在 C#中,创建串不能用 new 操作符,而是使用一种称为字符串驻留的机制。这是因为 C#语言将 String 看作是基元类型。基元类型是被编译器直接支持的类型,可以在源代码中用文本常量(Literal)来直接表达字符串。当 C#编译器对源代码进行编译时,将文本常量字符串存放在托管模块的元数据中。而当 CLR 初始化时, CLR 创建一个空的散列表,其中的键是字符串,值为指向...原创 2018-10-22 22:20:19 · 180 阅读 · 0 评论 -
关于大学,关于游戏和游戏开发
从没想过时间会过的这么快,甚至都已经不记得在这个学校过了多少个赖床叫室友帮忙点到的早晨,过了多少低头玩手机假上课的上午,过了多少阳光正好悠闲无所事事的下午,过了多少为游戏拼杀的夜,为赶作业为未来发愁的通宵。最近听说室友实习工作转正了,听说一个玩的很好的朋友签了大企工作了。在这个节点会有各种信息涌来,准备好的没准备好的各种好的或者坏的消息,好像根本不给你感慨青春易逝的时间,又要随着人潮去...原创 2018-11-18 18:56:51 · 2107 阅读 · 5 评论 -
AsyncLoadScene场景的异步加载---Loading界面
在游戏开发过程中,常常需要Loading界面。一方面是为了等待后台加载场景;一方面也是为了美观,可以在Loading界面放上游戏里有趣的截图,战斗场面,小提示等。自己最近做的毕业设计中使用了场景的异步加载来使游戏变得更加完整和有趣,这些api用的比较少,所以代码贴上来记录一下。/* * 所属层级:工具层 * 脚本功能:异步加载场景 * * */using Uni...原创 2018-11-22 20:04:30 · 4221 阅读 · 0 评论 -
Unity中Protobuf的使用
前几天,公司前辈要我去学习一下protobuf在unity中的使用,因为序列化的问题在网上找了很多教程终于将问题解决,特此记录一下代码和使用情况。 首先找到protobuf-net,Google.Protobuf两个拓展文件导入到unity中通过using ProtoBuf就可以正常使用了,使用有两个方法。 第一种是使用protoc.exe工具将.pr...原创 2019-03-06 19:51:05 · 1756 阅读 · 0 评论 -
游戏设计模式--命令模式
/* 游戏设计模式--命令模式 * 命令模式:将一个请求封装为一个对象(即我们创建的Command对象),从而使你可用不同的请求对客户进行参数化; * 对请求排队或记录请求日志,以及支持可撤销的操作。 * Command:定义命令的接口,声明执行的方法。 * ConcreteCommand:命令接...原创 2018-05-08 18:11:41 · 464 阅读 · 0 评论 -
游戏设计模式--责任链模式
/* 游戏设计模式--责任链模式 * 定义:很多对象由每一个对象对其下家的引用而连接起来形成一条链。 * 请求在这个链上传递,直到链上的某一个对象决定处理此请求。 * 发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求, * 这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 * ...原创 2018-05-14 17:14:14 · 323 阅读 · 0 评论 -
游戏设计模式--面向对象的设计原则
设计模式可以让代码结构更清晰,代码更严谨。 面向的对象的设计原则: 1.开闭原则:一个软件实体应该对外拓展开放,对内修改关闭。在不被修改的前提下被拓展。 例如:在客户端类中创建加法类,然后又想创建减法类可以一开始就创建运算类,可拓展性和可维护性很强。 2.依赖倒转原则:高层模块不应该依赖于低层模块,它们都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。要针对接口编程不要针...原创 2018-02-26 20:49:59 · 414 阅读 · 1 评论 -
基于MVC开发俄罗斯方块笔记
1.手机版本一般适配屏幕为7/10.2.game面板创建好Model,View,Control三个游戏空物体备用,给Model和View添加标签便于访问。通过Control连接Model和View。3.[HideInInspector]可以在Inspector面板隐藏Public4.添加Horizontal Layout Group组件可以自动布局UI。5.有限状态机FSM FSMSystem...原创 2018-03-01 18:58:21 · 638 阅读 · 0 评论 -
贪吃蛇笔记
1.用image添加button组件代替button2.控制物体移动不一定要写在方法里,可以用invokerepeating方法,想要修改变量时可以cancelinvoke()先暂停再修改3.食物的随机生成可以让每次生成的食物的图片用数组存储然后获取图片组件替换。4.单例模式,用于吃完食物后生成新食物,现在准备调用的食物生成脚本里创建 public static 类名 变量名 。然后通过变量名访问...原创 2018-03-03 23:53:24 · 296 阅读 · 0 评论 -
C#高级编程--字符串与正则表达式
一:string s="hezhang";char c=s[3];Console.WriteLine(s[i]);//输出结果为 h2.字符串常用方法:1.CompareTo();string s="he";int i=s.CompareTO("he");//当2个字符串相等的时候返回0,当s在字母表中的排序靠前返回-1,否则返回1Console.Write(i);//输出结果为0 ...原创 2018-03-18 16:55:16 · 252 阅读 · 0 评论 -
C#高级编程--进程与线程
进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码。进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运行的失败也不会影响其他进程的运行,Window...原创 2018-03-22 14:32:56 · 403 阅读 · 0 评论 -
C#中的事件和委托
目前我所理解我委托和事件就是可以把方法当成参数一样使用,能确定类型但不知道具体的方法时用委托。委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来使用,使程序具有更好的可拓展性。事件封装了委托类型的变量,使得在类的内部它总是Private的。在类的外部,注册“+=”和注销“-=”。类似于声明一个封装的委托类型的变量而已。委托和事件也是Observer设计模式的经典呈...原创 2018-03-13 15:52:54 · 334 阅读 · 0 评论 -
C#高级编程--冒泡排序
int类型冒泡排序的简单实现using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 冒泡排序拓展{ class Program { /// <summary> /// 冒泡排序方法 /...原创 2018-03-20 16:43:43 · 418 阅读 · 0 评论 -
Socket编程-unity简易聊天室
服务端using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Sockets;using System.Text;namespace Socket聊天室unity{ class Program { //创建一个...原创 2018-03-24 20:08:34 · 437 阅读 · 0 评论 -
游戏设计模式--观察者模式
学习程序已经有一段时间了,发现我面向过程的思维还在。拿到一个项目我先想到的就是如何去实现功能,而不是先把各个系统分成很多个子系统来理解。具体的逻辑关系可以先不要考虑,面向对象的程序会更好的理解代码和今后的使用,这也是我要把设计模式啃下来的原因。面向对象是一个封装隔离的思想,抽象大于具体。 今天对观察者模式的学习有了一点感觉,特此记录下来: 观察者模式:定义...原创 2018-03-21 10:18:35 · 315 阅读 · 0 评论 -
游戏设计模式--模板方法模式
/* 学习设计模式--模板模式 * * 冲泡咖啡和冲泡茶的例子 * 加工流程: * 咖啡冲泡法:1.把水煮沸、2.用沸水冲泡咖啡、3.把咖啡倒进杯子、4.加糖和牛奶 * 茶冲泡法: 1.把水煮沸、2.用沸水冲泡茶叶、3.把 茶 倒进杯子、4.加蜂蜜 * * * */using System.Collections;using System.Collections.Ge...原创 2018-04-16 10:36:54 · 322 阅读 · 0 评论 -
游戏设计模式--状态模式
/* 设计模式学习--状态模式 * 优点:在面向对象软件设计时,常常碰到某一个对象由于状态的不同而有不同的行为。 * 如果用if else或是switch case等方法处理,对象操作及对象的状态就耦合在一起, * 碰到复杂的情况就会造成代码结构的混乱。在这种情况下,就可以使用状态模式来解决问题。 * 定义:状态模式允许一个对象在其内...原创 2018-04-17 18:24:35 · 770 阅读 · 0 评论 -
游戏设计模式--工厂模式
/* 游戏开发设计模式--简单工厂模式 * 建立一个工厂(一个函数或一个类方法)来制造新的对象。 * 实例:生产手机,比如小米和苹果各有生产手机的方法,客户不要知道具体的生产 * 手机的方法,直接交给工厂来做,这样可以降低耦合。 * 简单工厂模式在更改需求的时候会违背开闭原则 * * */using System;using System.C...原创 2018-04-18 11:29:30 · 395 阅读 · 0 评论 -
游戏设计模式--桥接模式
/* 目的:学习设计模式的桥接模式 * 描述:图片和修图软件的关系,一张图片修改方法写完以后,如果再增加需求3张图片就要写一些重复代码 * 如果需求再次变更,新增加了几款修图软件,每次都要重新写方法,修改大量代码。 * 使用桥接模式新建一个图片接口 和一个修图软件接口重构代码 * 优点;更改需求的时候不需要修改太多代码 * 将抽象部分与它的实现部分分离,使它们都...原创 2018-04-12 21:29:57 · 325 阅读 · 0 评论 -
游戏设计模式--建造者模式
/* 游戏设计模式--建造者模式 * 将一个复杂对象的构建与它的表示分离,似的同样的构建过程可以创建不同的表示的意图时,我们就需要应用建造者模式。 * 定义一个抽象的建造者类 * 建造具体建造者类,让具体的建造者类去继承抽象类,那就必须去重写抽象方法 * 建造指挥者类,用它来控制建造过程,也用它来隔离用户与建造过程的关联 * * 实例:在游...原创 2018-04-23 17:00:44 · 537 阅读 · 0 评论 -
游戏设计模式--组合模式
/* 组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户 * 对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清 * 楚 “部分/整体” 还有 ”单个对象“ 与 "组合对象" 的含义。组合模式可 * 以让客户端像修改配置文件一样简单的完成本来需要流程控制语句来完成的功能。 * 经典案例:系统目...原创 2018-05-03 17:30:03 · 793 阅读 · 0 评论 -
游戏设计模式--访问者模式
/* 游戏设计模式--访问者模式 * 定义:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。 * 涉及角色: * 1.Visitor 抽象访问者角色,为该对象结构中具体元素角色声明一个访问操作接口。该操作接口的名字和参数标识了发送访 * 问请求...原创 2018-05-19 17:24:02 · 511 阅读 · 0 评论 -
CSDN--I am coming!
大三第二个学期开始写博客好像有点晚!希望可以努力坚持一下,把学到的新知识都放到博客里面来,为以后的学习和工作打下好的基础。争取同类问题一次性解决,写博客也能好好的锻炼一下写作能力。基础不是问题,给自己打点鸡血吧算是。Hello World...原创 2018-02-26 10:32:39 · 284 阅读 · 0 评论