自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (2)
  • 收藏
  • 关注

原创 排序算法合集

堆排序平均时间复杂度:O(nlogn) 稳定性:不稳定思想:1.先找到第一个非叶子节点 n/2-1,n为数组长度,然后构成大顶堆2.将堆顶和数组末尾元素交换;3.对0<j<n的元素重复前面1,2直到有序#include<iostream>#include<vector>using namespace std;void bigheap(vector<int>&a,int i,int length){ int temp=a[i]

2021-03-16 21:44:42 125

原创 Shader学习(三)(片元着色器)

在片元处理的漫反射相较于顶点中处理的漫反射在明暗交接处更加清晰。1、在片元着色器处理漫反射。

2023-08-18 01:23:03 634

原创 shader学习(二)顶点着色器

2、在shader里做变换和颜色显示。

2023-08-09 23:06:11 485

原创 shader学习(一)

【代码】shader学习。

2023-07-29 23:54:18 227

原创 对象池简单实现

适当调整对象池的容量,来防止多次扩容和产生GC问题。

2023-03-30 00:09:49 169

原创 游戏UI界面基类

1.点击UI不会触碰到场景的3D物体;3.UI不会拖动到屏幕外。2.对UI可以拖拽;

2023-02-07 02:04:58 220

原创 RPG游戏-好友系统

在后续好友菜单界面需要调用。1、预制体结构:2、脚本:实现对以上UI的进行调用和管理:

2022-12-05 00:04:50 786

原创 RPG游戏-刷怪系统

get;set;} //刷怪点ID public int MapID {get;set;get;set;} //位置 public NVector3 Direction {get;set;} //朝向 } }

2022-11-22 00:22:16 1046

原创 unity笔记-解决UGUI和3D模型的穿透点击

如图点击面板会同时点击到人物。在人物控制器脚本中加入以下代码。

2022-11-14 00:22:30 1244

原创 RPG游戏-任务系统

Description("主线") ] Main , [ Description("支线") ] Branch } public enum QuestTarget //任务目标 {get;set;get;set;get;set;get;set;} //任务职业限制 public int PreQuest {get;set;} //前置任务ID public QuestType Type {get;set;get;set;get;set;get;set;get;

2022-11-06 18:20:11 1786

原创 RPG游戏-道具系统

public enum ItemFuncition //物品功能 {get;set;get;set;get;set;get;set;get;set;get;set;get;set;get;set;get;set;get;set;get;set;} } }

2022-10-07 19:49:11 1276

原创 C# datatable读取CSV文件并实现自定义排序

产品让做一个简单脚本,处理金融数据表,需要对结果内容中的字符串提取相关奖励的数据,先根据金币 积分 荣誉分 回馈卡排序,再根据其数量的多少进行递加排序。

2022-09-27 16:28:05 589

原创 RPG游戏-NPC系统

主要控制NPC的行为,比如待机行为,与玩家交互时转向行为,并处理一些交互任务,触碰NPC产生的效果等。实现管理NPC交互功能。

2022-09-25 23:19:18 2033

原创 RPG游戏-小地图系统(二)

这里对上次的代码做优化,当进入或者地图时,小地图UI也应该进行变化。调用次序:MapController—>MiniMapManager -->UIminiMap。

2022-09-18 23:03:34 874

原创 RPG游戏-小地图系统

通常有三种方式:1)实时渲染场景;2)预渲染顶视图+润色3)纯美术制作这里采用第二种方式(1)使用图片MASK方式设置小地图的蒙层,这里的Mask图片采用的是圆形的白色图片(2)将地图图片放在MASK图片的节点下(3)效果如下所示(4)在地图下方加入一个cube与地图同宽高(需要加入碰撞体),用来后来绑定脚本记录坐标和进行坐标计算并投影在小地图。

2022-08-20 00:19:58 1199

原创 RPG游戏-地图场景管理维护(服务器)

每个地图的管理需要保存在该地图的所有玩家信息以及他们的链接。使用地图管理器保存地图类和获取哪张图。

2022-08-06 23:40:59 866

原创 unity场景跳转脚本

1.跳转的场景需要加入buildsetting。2.场景跳转脚本这里采用异步加载。

2022-07-25 23:43:25 1412

原创 unity客户端读取文本配置

1.声明一个数据结构类编译生成DLL放入UNITY的reference下面。2.文本配置的TXTCharacterDefine.txt。

2022-07-24 19:20:42 1740

原创 消息框脚本代码

1.调用和定制消息框内容脚本2.绑定到预制体消息框脚本调试代码:

2022-07-10 18:41:28 229

原创 使用protobuf通信unity客户端和服务器

2.服务器代码1.服务代码2.修改PROTO,使用PROTOBU工具进行生成.cs消息协议文件。3.服务器主程序初始化并启动设定服务

2022-07-09 16:54:11 938

原创 unity2D笔记-实现饥荒效果的2.5D游戏

教程来自B站大佬:https://www.bilibili.com/video/BV1DT4y1A7DJ?spm_id_from=333.337.search-card.all.click&vd_source=19df42746a97e8a5f29ac78388f521d5在这里主要有2点感悟:1.对于混合树了解更深刻了2.人物向量转换关系3.协程的使用通过控制输入的x,y向量来控制人物的动画让子物体的旋转角度与相机旋转角度一致3.通过手柄摇杆LB RB来转动视角视角转动脚本手柄摇杆对照脚本

2022-07-03 21:25:27 2088

原创 unity2D笔记-制作死亡功能和游戏重开

对之前的viewpanel的单例基类做了优化,这样不用在子类进行单例的创建和判断了并且可以根据不同 单例类名进行实例化 实例化的物体和类名要一致1.受伤脚本在之前的脚本中加入了受伤状态来判断是受伤还是死亡,并在事件调用中增加了受伤状态参数和复位的位置信息。2.施加伤害脚本这里可以设置玩家的重生点。3.玩家角色控制器脚本PlayController类中的部分相关代码,依旧在之前的AWAKE函数中实现对受伤事件的注册......

2022-06-19 18:41:19 2092

原创 unity2D笔记-制作混合树优化跳跃动画和受伤状态

使用15个跳跃的序列帧来制作混合树,每一帧对应一个速度,且在更新动画状态机值的时候对速度值进行更新。

2022-06-09 15:40:56 822

原创 unity2D笔记-可移动的平台

目标:设置一个可移动平台,玩家跳上去后,会跟随移动平台挂载脚本:

2022-06-06 23:51:56 1105 7

原创 unity2D笔记-关卡跳转和角色位置设置和门触发视角移动

1.修改场景触发脚本 加入玩家和指定位置参数2.修改场景管理器,重载LOADSCENE函数当玩家碰撞到钥匙时,相机会移动到大门处。1.相机脚本重载SetFollowTarget函数,当碰撞钥匙后,使用插值函数来一步一步得移动相机到门的目标位置。可以控制其位置和视野缩放聚焦到门。2.钥匙脚本3.门的脚本门有四个激活状态,每次有钥匙触发,通过次数判断门激活什么状态......

2022-06-05 22:40:01 1826 8

原创 unity2D-笔记 玩家跳跃时,游戏场景消失

1.问题描述:当游戏运行时,地面场景tilemap突然渲染消失了。2.解决方案,设置下tilemap的排序层级 default->groundground层在default层下面。

2022-06-04 12:52:27 598

原创 unity2D笔记-场景管理器和场景加载界面

1.场景管理器using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;public class SceneController : MonoBehaviour{ public static SceneController _instance; public static SceneController Instanc

2022-05-22 23:11:02 1067

原创 unity2D笔记-状态机控制人物

参考了大佬文章:https://blog.csdn.net/wjj616806129/article/details/86633291 并将之前控制人物的方式改成了状态机方式。1.引入状态机后,状态的改变变得更加明晰了,在statemachine中的fixedup对状态机的状态进行执行,所有状态都在他的onenter做更新,onexit做清理,保证了各种状态不会相互污染,避免动画出现异常。2.方便后面的状态扩展。(一)按键管理脚本1.便于修改按键。2.对于检测水平和垂直方向的输入,引入了INPUT

2022-05-21 23:50:16 1300 1

原创 unity2D笔记-触发提示框和跳跃、陷阱平台

1.提示框面板脚本(挂载到Tips):using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public enum TipsStyle{ Style1,}public class TipsPanel :MonoBehaviour{ // Start is called before the first frame update .

2022-05-15 02:42:15 1120

原创 二维凸包算法(Andrew算法)

在一个二维的花园中,有一些用 (x, y) 坐标表示的树。由于安装费用十分昂贵,你的任务是先用最短的绳子围起所有的树。只有当所有的树都被绳子包围时,花园才能围好栅栏。你需要找到正好位于栅栏边界上的树的坐标。输入: [[1,1],[2,2],[2,0],[2,4],[3,3],[4,2]]输出: [[1,1],[2,0],[4,2],[3,3],[2,4]] bool tmp(vector<int> &a, vector<int> &b){ i

2022-04-23 21:58:17 664

原创 unity2D笔记-控制人物相关

控制人物左右移动,同时加入左右移动人物翻转控制。有两种方法:1.更新 x的速度,通过速度正负判断翻转。(注释的代码)2.获取位置帧,通过位置帧和初始帧的大小判断是否翻转。using System.Collections;using System.Collections.Generic;using UnityEngine;public class Player: MonoBehaviour{ Rigidbody2D rigidbody2d; // Start is calle

2022-04-16 18:46:14 3180

原创 设计模式-命令模式

将一个请求封装为一个对象(命令本身),使发出请求的责任(命令发送方)和执行请求的责任(命令接收方)分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。package main//1.命令接收方抽象类type Device interface { Open() //打开 Close() //关闭 VolumnUp() //音量+ VolumnDown()//音量- ChannelUp() //频道+ ChannelDown()//频道-}type

2022-04-15 18:10:57 187

原创 设计模式-责任链模式

责任链模式(chain of responsibility)是赫赫有名的GoF书中描述的23个经典模式之一。这个模式通过将请求的处理者组织成一个链条,有效避免请求发送者与多个请求处理者耦合在一起。package mainimport ( "fmt")type Handler func([]int) boolfunc IsQiDui(card []int) bool { fmt.Println("判断七对") //这里做具体的牌型判断 return true}func IsShi

2022-04-14 10:44:31 341

转载 设计模式-享元模式

享元模式主要是为了复用对象,节省内存。使用享元模式需要有两个前提:享元对象不可变:当享元模式创建出来后,它的变量和属性不会被修改系统中存在大量重复对象:这些重复对象可以使用同一个享元,内存中只存在一份,这样会节省大量空间。当然这也是为什么享元对象不可变的原因,因为有很多引用,变更的话会引起很多问题。package mainimport "fmt"/** * @Author: Jason Pang * @Description: 棋子类,有文案、颜色、规则,这三种不变属性 */type

2022-04-12 11:34:04 92

原创 bat批处理文件

1.批量复制@echo off:: s1:源路径 t1:目标文件setlocal enabledelayedexpansion set s1=D:\ascript\jjagentset t1=E:\lcoal_jlichtset t2[0]=jlicht1\jjagentset t2[1]=jlicht2\jjagentset t2[2]=jlicht3\jjagentset t2[3]=jlicht4\jjagentfor /l %%i in (0,1,3) do (copy %s1

2021-12-08 17:01:04 281 3

原创 leetcode刷题记录 11月

整数替换 11.19class Solution { map<long,long> record;public: int integerReplacement(int n) { return dfs(n); } int dfs(long n){ if(n==1){ return 0; } if(record.find(n)!=record.end()) .

2021-11-19 12:37:09 306

转载 c#基础知识

1.多态1.抽象类(abstract)1.您不能创建一个抽象类的实例。2.您不能在一个抽象类外部声明一个抽象方法。3. 通过在类定义前面放置关键字 sealed,可以将类声明为密封类。当一个类被声明为 sealed 时,它不能被继承。抽象类不能被声明为 sealed。using System;namespace PolymorphismApplication{ abstract class Shape { abstract public int area();

2021-09-30 11:39:18 159

原创 cocos creator 管理脚本相关

1.音频管理脚本AudioMgr.tsexprot default class AudioMgr{ bgmVolume = 1.0 sfxVolume = 1.0 bgmAudioID = -1 init(){ let t = localStorage.getItem("bgmVolume") if(t){ this.bgmVolume = parseFloat(t) }else{ localStorage.setItem("bgmVolume",this.bgmVolume

2021-09-02 15:37:53 337

原创 基于lua的观察者模式应用:事件分发系统

local b = class()function B:on_money_change(money) print(money,"B recive event")endEventSystem:on(Event.MoneyChanged,B.on_money_change,{target = B})--定义回调函数和注册事件local c = class()function C:on_money_change(money) print(money,"C recive event")endEv

2021-08-31 20:09:13 304

原创 基于go语言的牛牛游戏服务器搭建

游戏规则:游戏用牌为除大小王以外的一副牌,共计52张。玩家人数为固定4人(初版人数),每人随机发5张牌。牌型说明牌型 赔率(闲家下注) 说明无牛 1倍 五张牌中没有任意三张牌点数之和为10的整数倍,例如:a、8、4、k、7。有牛 1~2倍 五张牌中有三张的点数之和为10点的整数倍,并且另外两张牌之和与10进行取余,所得之数即为牛几,例如:2、8、j、6、3,即为牛9。牛一到牛6为1倍,牛七到牛九为2倍。牛牛 3倍 五张牌中第一组三张牌和第一组二张牌之和分别为10的整数倍,例如

2021-07-29 10:27:47 1480 4

热传导各向异性扩散降噪(python代码实现)

各向异性扩散滤波主要是用来平滑图像的,克服了高斯模糊的缺陷,各向异性扩散在平滑图像时是保留图像边缘的,和双边滤波很像。 通常我们有将图像看作矩阵的,看作图的,看作随机过程的,记得过去还有看作力场的。这次新鲜,将图像看作热量场了。每个像素看作热流,根据当前像素和周围像素的关系,来确定是否要向周围扩散。比如某个邻域像素和当前像素差别较大,则代表这个邻域像素很可能是个边界,那么当前像素就不向这个方向扩散了,这个边界也就得到保留了。

2019-04-24

djiKstra程序 流量均衡

基于djikstra 流量均衡算法 计算无分流网络的情况。迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。

2019-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除