自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RideBike

成功的时候不要忘记过去,失败的时候不要忘记还有未来。

  • 博客(58)
  • 资源 (19)
  • 收藏
  • 关注

原创 Unity中的向量实验

在读UnityShader入门精要数学篇的时候计算了矢量相关的数学公式,突然有个想法,用Unity的Vector来验证一下。向量(也就是矢量)是Unity中最基础的数学运算,主要左右还是描述物体的平移缩放旋转。前置条件是左右手坐标系需要了解清楚。

2023-03-17 09:45:34 375

原创 C#实现Socket的消息收发,ServerSocket,ClientSocket

知道Socket原理,但是一直没有在代码里面尝试怎么操作,闲来无事实现了一个初步的Socket服务器和客户端连接的Demo,但是没有实现更高级一点的系列化传输,加解密处理以及队列和断线重连等处理,感兴趣的话可以自己再尝试尝试。主要分服务器Socket和客户端Socket,只用了简单的字符串转byte[]的传递测试收发消息。客户端给服务器发all代表广播给所有客户端,给服务器发single代表只点对点的进行回消息。分ServerSocket和ClientSocket来具体实现服务器与客户端的收发逻辑。

2023-01-04 17:38:55 3626 1

原创 Unity跨天的判断,以及时间戳转换成天时分秒

有时候策划需要一个第二天0点刷新活动界面的操作,这个案例可以帮助解决部分问题。然后测试了下时间戳的相互转换以及倒计时的计时操作等等。写了一些常用的时间戳转换和时间戳解析的函数。详情看代码逻辑和注释。

2022-12-25 22:06:00 1886

原创 Unity物体移动的几种方式

主要是Vector3的内置函数以及CharacterController的Move。还有一个固定的每帧进行移动的操作。

2022-12-25 16:41:53 1234

原创 Unity Texture优化和格式统一设置

主要逻辑,按照项目所需,统一Texture格式和压缩方式,可以举一反三。上门两篇文章可以多看看,了解下原理,了解下怎么降内存和适配移动平台。

2022-11-04 12:30:05 1727

原创 Unity计时器系统

可以放在系统中,在系统的Tick函数中执行计时器。注释写的够多,懒得写说明了。

2022-10-20 14:34:12 1245 4

原创 根据鼠标点击的位置来转换成UI坐标

有时候游戏内一些Tips界面需要根据点击的位置来动态显示Tips界面的位置。这个案例就很好用了。

2022-10-08 10:41:31 1283

原创 Unity FSM有限状态机-打工人的一天

Unity FSM简单测试理解

2022-09-29 13:20:54 916

原创 Unity游戏事件系统

通过一个小Demo测试一个简单的通用事件管理系统分两步,一个管理器,一个事件ID定义类当然,还可以扩展,比如加上异步操作,消息类自定义等等1.EventManagerusing System;using System.Collections.Generic;using UnityEngine;namespace Core.Scripts.Event{ /// <summary> /// 事件管理器 /// 通用与UI 逻辑 数据等系统 .

2022-01-24 17:50:21 2264 1

原创 Opengl加载与创建纹理

先上三张效果图SampleTex.cpp/*** 加载纹理图片*/#include <glad/glad.h>#include <GLFW/glfw3.h>#include <iostream>#include <Shader/Shader.h>//定义STB_IMAGE_IMPLEMENTATION,预处理器会修改头文件,让其只包含相关的函数定义源码,等于是将这个头文件变为一个 .cpp 文件了#define STB...

2021-11-02 16:56:50 1610 1

原创 Opengl Shader的初步使用

主要是按照Opengl的网站学习的Shader文件读取和使用VertexShader.vs#version 330 corelayout (location = 0) in vec3 aPos;layout (location = 1) in vec3 aColor;out vec3 ourColor;uniform float xOffset;//输出顶点给片元着色器out vec3 selfPos;void main(){ //向左偏移,倒置三角形 gl_Posit

2021-10-28 15:21:52 677

原创 GLFW窗口创建

记录下Opengl的学习流程第一篇的窗口创建以及输入处理,回调设置/*** GLFW窗口*/#include <glad/glad.h>#include <GLFW/glfw3.h>#include <iostream>void framebuffer_size_callback(GLFWwindow* window, int width, int height);void inputProcess(GLFWwindow* window);

2021-10-15 15:56:36 807

原创 渲染管线的理解

图形渲染管线可以被划分为两个主要部分:第一部分把你的3D坐标转换为2D坐标,第二部分是把2D坐标转变为实际的有颜色的像素。着色器(Shader):图形渲染管线接受一组3D坐标,然后把它们转变为你屏幕上的有色2D像素输出。图形渲染管线可以被划分为几个阶段,每个阶段将会把前一个阶段的输出作为输入。所有这些阶段都是高度专门化的(它们都有一个特定的函数),并且很容易并行执行。正是由于它们具有并行执行的特性,当今大多数显卡都有成千上万的小处理核心,它们在GPU上为每一个(渲染管线)阶段运行各自的小程序,从

2021-10-15 15:51:41 157

原创 Unity aab分包Google提审(Play Asset Delivery)

Google关于Play Asset Delivery的介绍,自己去看吧,如果说打不开想不了办法,那这边建议转行,别在这行混了https://developer.android.com/guide/app-bundle我主要讲下我这边的步骤:1.下载com.google.play.assetdelivery导入Unityhttps://github.com/google/play-unity-plugins/releases导入之后的界面:2. 勾选Separate Base .

2021-09-04 15:30:17 6074 2

原创 Unity转盘抽奖界面的实现

之前在公司做过一次转盘抽奖,现在又要写了发觉忘了。。留个博客记录下,也方便后来者查阅。实现的效果图如下:下面是代码片段:using UnityEngine;/// <summary>/// 描述: 思路是这样的,先假旋转,旋转个指定的时间,然后到时间了就做真旋转,旋转到指定位置之后停止旋转/// 日期: 2020/02/25/// 作者: 华阳张学友/...

2020-02-25 23:32:25 1903

原创 Unity倒计时(Update)

上面是效果下面是代码using UnityEngine;using UnityEngine.UI;/// <summary>/// Des: 倒计时测试/// Auth:https://blog.csdn.net/dinghqalex/// </summary>public class TimeTest : MonoBehaviour{ ...

2019-08-23 10:13:36 2379

原创 VS NuGet离线包(缓存包)nupkg安装

最近项目需要在NuGet添加一个依赖项,无奈公司开发机没网。。。说出来各位看官可能不信,做开发的开发机居然没网!!!!!(那你还不赶快离职闪人)没办法,项目需要还是得把东西扔进VS里面去,只有想办法把依赖项加进去了如果有网,添加NuGet里面的依赖项非常简单,搜索出来直接安装就行。言归正传,还是来说说离线安装NuGet里面程序包依赖项的问题。首先。https://w

2016-04-29 11:51:11 68519 6

原创 C++实现简单的String类

#include "stdafx.h"#include #include // delete之后将指针置为NULL防止空指针#define SAFE_DELETE(p) do{ if(p){delete(p); (p)=NULL;} }while(false);class String{public: // 普通构造函数 String(const char *str = N

2015-06-02 16:18:43 893

原创 fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory

妈的,搞了毛大一歇!!解决办法:项目--右键--属性--配置属性--常规--平台工具集--选择Visual Studio 2013 -WindowsXP(v120_xp)

2015-05-27 16:29:12 4591 1

原创 为啥要implements Serializable

一、为啥要implements Serializable        一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。        什么情况下需要

2015-05-26 16:44:44 24714

原创 安卓屏幕适配(各种方案组合)

本着分享技术的原则,写下这篇不是太完美的文章,希望能帮助到广大的android coder,一起共同进步本来是不想写这些出处,图片加水印的,但是有些无良网站,直接爬虫抓文章的太可恶了,希望尊重别人的成果。欢迎转载,但是转载请注明出处:http://blog.csdn.net/dinghqalex以前对安卓屏幕适配这一块确实感觉蛋疼,始终做不好完美的适配其实屏幕适配这块,还是

2015-05-26 10:14:43 1023

原创 安卓利用SharedPreferences保存用户名和密码

由于项目需要保存用户输入的用户名和密码,想到的比较简单的方法就是利用SharedPreferences来保存不多说,上代码了/** * 使用SharedPreferences保存用户登录信息 * * @param context * @param username * @param password */ public static void saveLogin

2015-05-22 11:33:26 3773

原创 安卓两页合并到一页滑动显示的布局(安卓上下滑动页面)

最近接外包,项目上遇到个问题,客户做了两页界面,我开始没找到合适的方法将两页内容很好的显示出来,就在第一页加了一个按钮然后跳转到第二页来显示,但是这样其实效果不是很好。纠结了一会然后想到了ScrollView然后嵌套布局。        其实思路就是这样: 两页或者更多的布局内容          将做好的界面统一

2015-05-15 11:12:31 4325

原创 安卓完美退出App以及跨界面关闭Activity

在安卓项目中,当有多个App时,通过StarActivity方法带参数可以在另一个Activity可以将前一个Activity关闭掉,但是有一个局限,就是跳转了多个Activity之后,就尴尬了,不能关闭全部的界面。        于是,通过键值对容器动态添加Activity,然后根据key删除相对应的Activity就可以进行跨Activity来关闭界面了,具体代码下面贴出。packag

2015-05-10 22:30:59 3363

原创 Stl List使用

一、 List简介        STL中的list就是一双向链表,因此它的内存空间是可以不连续的,通过指针来进行数据的访问,这使list的随机存储变得非常低效,list不支持随机访问,就是没有 at()函数和[]操作符。但是list可以很好地支持任意地方的插入和删除,只需移动相应的指针即可,可高效地进行插入删除元素。        总之,如果你需要大量的插入和删除,而不关心随即存取,

2015-03-17 18:26:38 931

原创 Stl各容器对比

1. vector    变长一维数组,连续存放的内存块,有保留内存,堆中分配内存;    支持[]操作,高效率的随机访问;    在最后增加元素时,一般不需要分配内存空间,速度快;在中间或开始操作元素时要进行内存拷贝效率低;    vector高效的原因在于配置了比其所容纳的元素更多的内存,内存重新配置会花很多时间;注:需要高效的随即存取,而不在乎插入和删除使用vector。

2015-03-11 09:50:51 1618

原创 Stl Map用法

一、Map简介         关联的本质在于元素的值与某个特定的键相关联,而并非通过元素在数组中的位置类获取。它的特点是增加和删除节点对迭代器的影响很小,除了操作节点,对其他的节点都没有什么影响。对于迭代器来说,不可以修改键值,只能修改其对应的实值。二、Map的优势        1.    自动建立Key-value(键值对)的对应。key 和 value可以是任意你需要的类型,但

2015-03-10 21:35:31 1065

原创 stl deque使用详解

一、 Deque阐述             deque和vector都是顺序性容器,deque容器是C++标准模版库(STL,Standard Template Library)中的部分内容。deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中某一位置上的操作所花费的是线性时间。与vector不同的是,deque还支持从开始端插入数据:push_front()。dequ

2015-03-09 18:02:04 2111

原创 Java反射常用到的几个方法,获取Private字段,执行其他类的方法,获取类名

引言已经很久没有写过Java代码了,写了一年的的C++,今天看到C++的friend(友元)可以操作一个类的private属性,突然想到Java的反射,今天用Java写了一小段代码实验了一下,项目中比较实用。也是在以前做安卓的项目的时候老是听到师傅说反射,没怎么用过,终于尝试了一下。代码片段Java的反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法。对于任意一个对象,都

2015-02-12 17:39:57 6479

原创 Eclipse查看Java源码的方式

按Ctrl 鼠标左键点击方法名,这就是在Eclipse查看源码的方法。 问题是一般情况下点击了没反应,就傻逼了。 通过下面几个步骤可以完美的解决这个问题,可以看到Java的源码实现。 1.点 “window“-> “Preferences”-> “Java” -> “Installed JRES”; 2.此时”Installed JRES”右边是列表窗格,列出了系统中的JRE 环境,选择

2015-02-12 17:04:20 2797

原创 C++的构造函数初始化列表

在看人家源码的时候卡住了,看见初始化构造函数的时候看不懂了,构造函数的:,,,这些都是些啥。纠结了半天,然后各种问各种搜资料,对这个东西理解了一部分了。        C++类中成员变量的初始化有两种方式:构造函数初始化列表和构造函数体内赋值。下面看看两种方式有何不同。#include "stdafx.h"#include using namespace std;cl

2015-02-04 16:08:54 886

原创 游戏中最常用的A*算法(Java版)

自动寻路的A*算法原理看其他的文章吧,不想写了这个类是公司封装好了的类拿出来分享了看剑:package main.java.GameUtil;import java.util.ArrayList;import java.util.List;public class MGE_AStar{ private final byte G_OFFSET = 1; // 每个图

2015-02-03 17:35:56 1251

原创 快速排序

实际中最常用的一种排序算法,速度快,效率高,就像它的名字一样。快速排序的基本思想是:1.先从数列中取出一个作为基准。2.分区过程,将比这个基数大的数全部放在它的右边,小于或者等于它的数就全部放在它的左边。3.然后再对左右区间重复第二步,直到各区都只有一个数就排序完成了。实现的代码:#include "stdafx.h"#include void q

2015-02-03 16:00:31 1034

原创 VS看反汇编、寄存器、内存、堆栈调用来学习程序设计

其实计算机这套东西是真的太大了,太多的东西要学要理解更要掌握学习的时候要不断拆分理解才能掌握得更牢固学程序的时候可以通过查看程序的运行过程进而加深自己对程序设计的理解调试出最优化的代码VisualStudio,微软的高端IDE,可以写C/C++可以搞C#,写网站等等,牛逼得爆VS调试方便功能强大,一般公司也用它来开发我在学C++的时候也是用的VS,在学习的时候感觉用到的东西

2015-01-26 13:19:39 5949

原创 C语言冒泡排序

冒泡是一个程序员接触最早的一个排序算法,简单粗暴。冒泡排序的核心思想就是:依次比较相邻的两个数,如果第一个数比第二个大就交换。程序还是要自己动手写,这样理解得才快。#include "stdafx.h"#include #include #define SIZE(A) sizeof(A)/sizeof(*A)using namespace std;void bubble

2015-01-23 17:37:16 1330

原创 C++ Stl的Vector使用

在项目中,vector使用很多很广,与其说vector使用很多不如说STL使用的很多。C++的STL库封装了常用的数据结构,它们里面又实现了一些非常实用的算法,使得STL被广泛使用,减低项目开发难度和周期。vector是线性容器,它的元素严格的按照线性序列排序,和动态数组很相似,和数组一样,它的元素存储在一块连续的存储空间中,这也意味着我们不仅可以使用迭代器(iterator)访问元素,还可以使用

2015-01-22 23:32:54 1449

原创 顺序存储结构和链式存储结构的选择

容器的存储分为顺序存储和链式存储一、顺序存储结构     从数据结构的角度来说顺序储存结构的存储空间固定,可扩展性差,但是如果数据元素个数已知,较链式存储节省空间。     它的优点是随机读取任意一个元素(因为元素时顺序存储的,所以元素的存储位置之间有一定的关系)但是顺序存储的缺点是删除、插入操作需要花费很多时间在移动元素上。     STL中的vector就是典型的顺

2015-01-21 15:26:13 4284

原创 pthread的pthread_join()函数理解实验

一、使用方式pthread_t tid;pthread_create(&tid, NULL, thread_run,NULL);pthread_join(tid,NULL);创建线程之后直接调用pthread_join方法就行了。二、为什么要使用pthread_join()       在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,

2015-01-20 18:51:55 44313 7

原创 Windows上VS使用pthread重温经典多线程卖票(pthreads-w32-2-8-0-release.exe)(windows上使用pthread.h)

一、安装pthreads-w32-2-8-0-release.exe至于怎么下载这个exe还是自己去百度吧,CSDN上反正可以下载,而且有免费版本的,资源里面搜下就行了。然后安装这个就行了(按照下面的123来就行了)。然后Pre-built.2这个文件夹有个include和lib,把它们分别拷贝到C:\Program Files (x86)\Micros

2015-01-20 16:45:31 4311 1

原创 strcat函数实现

其实也是在面试的时候遇到的这个问题回来了郁闷到了查了下这函数哎   以前学Java的没见到过这些世面终于还是看到这些基础的函数了试着写了下这个strcat函数,挺简单的char* _strcat_d(char* dest, char* src){ char* newStr = dest; if (dest == NULL || src == NULL) retur

2015-01-17 18:00:48 1684

UnityFSM Demo

Unity有限状态机例子

2022-09-28

RotateTest.rar Unity转盘抽奖 旋转

基于Unity的转盘抽奖界面,包含资源,源码,场景,UI布局。 已导出为资源包,可方便导入进行测试。

2020-02-25

SteamVR Network Essentials.unitypackage

SteamVR Network Essentials VR多人在线

2017-06-09

NodeCanvas 2.6.2.unitypackage

he complete Visual Behaviour Authoring framework for Unity, empowering you to create advanced AI Behaviours and Logic, including three separate, fully featured, yet seamlessly interchangeable modules for you to choose and easily add in your game: • Behaviour Trees • Hierarchical State Machines • Dialogue Trees NodeCanvas is a production ready framework used by many awesome games including Kim, Pamela, Hurtworld, Shroud of the Avatar, Kingdom and Ghost of a Tale. [Games Showcase] Feature Highlights ------------------------------------- • Choose the right tool for the task at hand. • Design reactive Behaviour Trees and Hierarchical State Machines within an intuitive, designer friendly visual node editor: (Full Undo/Redo, Zoom In/Out, Multi-selection, Duplication, Copy/Pasting, JSON Import/Export, Groups, Comments and more) • Use local & global variables of any type, visually or in code, for creating reusable and actor-oriented, parametric behaviours, optionally saving and loading those variables between gaming sessions. • Data Bind variables with any component property of any type directly. • Sync variables automatically over the network using UNET, for creating multiplayer games. • Visually Debug behaviours with realtime, colorful and informative runtime debugging. • Live Edit everything while in play mode to perfectly understand your design goals and how to achieve them. • Utilize any existing code directly with advanced and extremely fast Reflection Tasks, automatically integrating Unity's and 3rd Party asset APIs. • Work with Lists/Arrays, Enums, Interfaces and pretty much ANY Variable Type you need out-of-the-box. • React to world changes and transfer data using the built-in Event System. • Reuse and Bind made behaviours among any number of different agents. • Organize your designs using Behaviour Sub-Trees and Sub-State Machines. • Extend NodeCanvas Framework to create your own Actions, Conditions, Nodes or even completely new modules with the ease of a powerful, clean and well documented API. • Customize inspectors in all ways possible, using Custom Object & Attribute Drawers. • Integrate with lots of 3rd party assets. • Publish to all platforms out-of-the-box. • Rock Solid Performance. Zero Allocations. • Full Source Code Included. • And so much more... No scripting? No problem. NodeCanvas comes with hundreds of useful game oriented premade Actions and Conditions to get you started directly. Furthermore you can use the special Script Control Tasks to make use and control any existing code and components without writing a single line of code! Current 3rd Party Asset Extensions: • Chronos • Cinematic Sequencer - SLATE • Cinema Director • Core GameKit • DOTween • Easy Save • Inventory Pro • LipSync • Love/Hate • Master Audio • Motion Controller • PlayMaker • PolyNav • SALSA • Simple Waypoint System • more added constantly... Community Driven Extensions: • A* Project • cInput • FinalIK • ProCamera2D • Rewired • uFrame Furthermore, NodeCanvas seamlessly integrates with FlowCanvas enabling you to use nested flowScripts directly within your BehaviourTrees, FSMs, and/or Dialogue Trees! " So, what's included? " ✔ The Core NodeCanvas Framework. ✔ The Behaviour Trees module. ✔ The State Machines module. ✔ The Dialogue Trees module. ✔ Lots of Game Oriented Tasks. ✔ Lots of 3rd Party Integration Tasks. ✔ The Full C# Source Code. ✔ Fast and responsible Support. Works with Indie and Pro Supports UnityGUI Supports Unity2D

2017-05-31

dll reflector

C#反编译工具,dll reflector,DotNET Reflector

2016-10-13

GLUT库下载

Windows下的GLUT库

2016-06-14

scrum-and-xp-chinese-version

scrum-and-xp-chinese-version,硝烟中的scrum-and-xp.pdf,现在国内scrum的应用还是起步阶段,成功实施的团队估计还是很少,这本书是一个项目经理写的,从案例出发,讲的比较实在,实用性比较高的一本书。

2014-11-25

json.org所需jar包

json.org所需jar包,谷歌自带JSON解析会用到这个Jar包。

2014-11-18

Android反编译工具包(升级).7z

Android反编译工具包(升级).7z

2014-11-16

Cocos2dx-CocosDenshion-Win32实现setBackgroundMusicVolume函数

Cocos2dx引擎CocosDenshion库-Win32平台下实现setBackgroundMusicVolume函数

2014-11-16

JSP+Servlet+Javabean+Mysql学生成绩管理系统

本系统以MVC架构搭建,采用JSP+Servlet+Javabean+Mysql技术实现,软件界面美观友好,并且本资源包含有.sql脚本,可直接导入数据库生成系统所需要的表,无需做更改,即可使用。

2014-11-10

数据结构.严蔚敏-吴伟民

《数据结构》(c语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参数教材。学了数据结构后,许多以前写起来很繁杂的代码现在写起来很清晰明了. 本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。 全书采用类C语言作为数据结构和算法的描述语言。 本书概念表述严谨,逻辑推理严密,语言精炼,用词达意,并有配套出版的《数据结构题集》(C语言版),便于教学,又便于自学。

2014-10-17

Sublime Text2+QuickXDev

Submine Text,里面有注册码,这个可以支持Lua提示,学习Lua也很方便,很美观的界面,这个编辑器确实非常的不错,非常漂亮,也很强大。

2014-08-20

C++帮助文档

C++帮助文档,查询C++常用函数,Stl函数等等,非常适用,没有广告。

2014-07-04

安卓读取SD卡图片Demo

就是安卓读取SD卡上的图片,测试可用的。

2014-05-31

连接Sql的sqljdbc.jar文件

Java连接SQLServer的jar文件

2014-04-20

jxl.jar(操作xls的jar)

这个就是著名的jxl.jar,能够操作xls文档。具体使用的话请百度了。

2014-04-20

钱能C++程序设计

钱能教授的C++ 考研指定用书 入门的参考书

2014-04-20

Math.pow函数的Java实现。

主要是math函数的Java代码实现。 能够传入double类型的两个数进行计算。

2014-03-24

空空如也

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

TA关注的人

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