自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (13)
  • 收藏
  • 关注

原创 C#中的Async的异常处理

C#中基于async task编程的异常处理方式

2024-02-21 10:27:39 623

原创 初探unity中的ECS

ECS是一种软件架构模式,就像MVC一样。ECS最早在游戏《守望先锋》中提及到的。ECS具体是指实体(entity)、 组件(component)和系统(system):实体:实体是一个ID,它是一个唯一的标识符,用于标识一个对象,它本身不包含任何数据,只是一个ID,它的作用是用于标识一个对象,它的数据是由组件来提供的。组件:组件是一个数据结构,它包含了一些数据,用于描述一个对象的属性,组件是没有任何行为的,它只是一个数据结构。系统:主要用户逻辑处理,进行状态迁移。系统中不保留数据,且是无状态的。

2024-02-03 17:20:19 1997

原创 lua之async机制

lua中的coroutine本身提供了强大的功能,但是它属于基础API,在实现复杂逻辑的过程中,需要将coroutine进行包装,或者将coroutine的句柄传来传去。针对上面的问题,借鉴C#中task机制,现用纯lua的代码实现了一套async机制。

2023-02-06 22:17:20 1390

原创 lua之coroutine

lua天然支持coroutine, coroutine属于协程而非多线程。通过coroutine.create来创建一个协程,然后调用coroutine.resume启动,当函数中遇到coroutine.yield时协程将会被挂起直到再次调用coroutine.resume。执行结果通过上面的例子我们可以发现当调用完coroutine.create返回的coroutine并不会直接启动,必须通过调用coroutine.resume来启动。

2023-02-06 22:09:24 231

原创 c#中的async和await 以及编译原理

通过上面的简单介绍我们可以看出,async/await往往会和task一起使用,并不是所有的方法都可以被await。那如何才能被await呢?T是编译时的动态类型T有一个无参的GetAwaiter方法,并返回类型为AA必须实现接口INotifyCompletionA要有一个bool的IsCompleted属性A要有一个GetResult方法.更多的文档可以参见未完待续…

2023-01-20 14:52:52 871

原创 csharp 异步编程

当有多个任务需要同时执行,或者有比较费事的操作时但不想阻塞主线程的时候,我们往往会使用到多线程编程,但是多线程编程本身需要很强的多线程编程思维,需要解决诸多问题:如线程锁、线程间的数据同步等问题。csharp提供了异步编程的模式,.net提供了三种模式:基于任务的异步编程(TAP)、基于事件的异步编程(EAP)、异步编程模式(APM)三种模式。

2023-01-18 21:00:35 811

原创 Unity UIToolkit

unity UIToolkit

2022-08-25 23:24:39 2617

原创 Ubuntu中运行unity

Ubuntu中运行unity

2022-08-17 22:47:42 1456

原创 linux 中常用命令

linux 中常用命令

2022-08-17 22:45:55 1486

原创 shell 脚本常见操作

shell脚本中常用的一些操作,取值操作、条件测试

2022-08-11 21:36:02 128

原创 git clone 大项目

git clone 大的工程, clone指定目录

2022-08-04 19:07:04 417 1

原创 adb unlock

当通过adb链接手机自动化一些任务的时候,我们需要自动解锁手机(也可以不只是密码????)下面的代码是通过adb解锁手机的代码,仅供参考....#!/bin/shPASSWORD=1234STATE_OFF='OFF'STATE_ON_LOCK='ON_LOCKED'STATE_ON_UNLOCK='ON_UNLOCKED'if [ $# > 1 ]; then ...

2019-10-10 12:07:34 879

原创 Mac 安装appium

今天在mac环境下进行了appium的安装和配置。1、正确安装nodejs,brew install node2、使用npm安装appium,npm install -g appium3、安装appium-doctor,npm install -g appium-doctor4运行doctor检测,结果为:info AppiumDoctor ✔ The Node.js bi...

2019-09-23 16:19:12 365

原创 Mac 中安装 appium遇到错误selendroid setup files did not yet exist waiting

今天在mac中安装appium的时候,第一次没有按照文档安装导致报错:selendroid setup files did not yet exist waiting折腾了半天之后发现是我安装node的时候用的root用户安装的,而安装appium的时候用sudo,这样在执行node ./bin/install.js的时候会出现权限的问题。其实在安装文档中有所提到(Make sure y...

2019-09-23 15:46:56 623

原创 unity3d package 管理

unity2018之后使用了全新的package 管理工具。下图是全新package和以前的package的不同点(摘自https://blogs.unity3d.com/2018/05/09/unity-packages-life-cycle/)。 Asset Store Package New Package File .unitypackage Gi...

2019-09-19 13:55:07 3949

原创 YAML 格式初探

简单记录一下YAML的格式YAML中是一个缩紧来代表一个block的,使用 破折号和空格("- ")来代表数组,使用冒号和空格(": ")来代表map。举例如下数组:- Mark McGwire- Sammy Sosa- Ken Griffeymap:hr: 65 # Home runsavg: 0.278 # Batting averagerbi: 1...

2019-09-09 21:12:39 175

原创 unity3d job

unity C#中的Job system 允许我们编写与unity交互的多线程代码。在写多线程代码时会涉及到很多点:线程池、线程间切换、数据共享以及锁的问题,这些问题使我们很难写出高效安全的多线程代码。然后job system是通过创建job的方式然后又job system统一调用和管理,从而避免了让用户直接去编写多线程代码。 我们编写的job将会放到job qu...

2019-08-03 17:00:37 504

原创 unqlite源码分析之unqlite_kv_fetch

现在只记录了使用文件系统的解析,后续添加使用mem的解析/* * [CAPIREF: unqlite_kv_fetch()] * Please refer to the official documentation for function purpose and expected parameters. */int unqlite_kv_fetch(unqlite *pDb,con...

2018-11-07 06:19:58 640

原创 unqlite源码分析之unqlite_kv_store

现在只记录了使用文件系统的解析,后续添加使用mem的解析int unqlite_kv_store(unqlite *pDb,const void *pKey,int nKeyLen,const void *pData,unqlite_int64 nDataLen){... if( nKeyLen < 0 ){ /* Assume a nu...

2018-11-07 06:07:30 762

原创 unqlite进阶Cursors

unqlite中的cursors可以让我们遍历数据库中的所有记录,从而让我们有在频繁读取的时候有机会自己做数据的缓存。通过cursors可以正向遍历也可以逆向遍历记录,正向遍历的话使用unqlite_kv_cursor_first_entry和unqlite_kv_cursor_next_entry组合,逆向遍历unqlite_kv_cursor_last_entry和unqlite_kv_cur...

2018-11-07 06:05:48 735

原创 unqliteAPI之read

UNQLITE_APIEXPORT int unqlite_kv_fetch(unqlite *pDb,const void *pKey,int nKeyLen,void *pBuf,unqlite_int64 /* in|out */*pBufLen);UNQLITE_APIEXPORT int unqlite_kv_fetch_callback(unqlite *pDb,const voi...

2018-11-07 06:03:51 388

原创 unqliteAPI之write

UNQLITE_APIEXPORT int unqlite_kv_store(unqlite *pDb,const void *pKey,int nKeyLen,const void *pData,unqlite_int64 nDataLen);UNQLITE_APIEXPORT int unqlite_kv_append(unqlite *pDb,const void *pKey,int n...

2018-11-07 06:02:41 368

原创 c/c++中使用unqlite

    本章节记录了如何在c/c++中使用unqlite,我们通过一个官方的例子来开始。    首先需要我们自己下载unqlite文件,通过这个链接 download page 可以下载。我们主要是用里面的两个文件unqlite.h和unqlite.c。    将下面的源码和上面的两个文件放在一起,进行编译并且运行,如果结果为:testHello World说明成功将unqli...

2018-10-23 05:08:09 2126

原创 unqlite简介

    偶然间发现了unqlite,在这里记录一下它的使用方法。    unqlite的官网地址https://unqlite.org/index.html    unqlite是一个内嵌式的数据库,它实现了一个独立的、无服务器、零配置、事务性的nosql数据库引擎。它是一个文档存储数据库,类似于MongoDB, Redis, CouchDB等,同时也是一个标准的key/value存储类似...

2018-10-23 05:05:09 5503

转载 图形学领域的关键算法及源码链接

Last updated December 5, 2012.Try searching this page for keywords like 'segmentation' or 'PLY'.If you would like to contribute links, please e-mail them to rms@dgp.toronto.edu.Papers & Arch

2017-09-05 15:20:09 1525

原创 二微矩阵碰撞检测

//左上(x,y) 右下(z,w).返回val2和val1是否发生碰撞,如果碰撞返回val2相对val1的位置 1上 2下 4右 8左.    int test(Vector4 val1, Vector4 val2)    {        bool ret = true;        if(val2.x > val1.x && val2.x > val1.z)

2017-02-24 19:16:30 866

原创 一个uv对应多个贴图

问题:2d横版游戏中的背景宽带为2屏,并且自动滚屏。解决方案:1.将背景分为两个plane来渲染,通过代码来控制plane的移动。此种方式需要额外的两个plane来做缓存。2.通过shader的uv来控制Shader "Custom/NewShader" {    Properties {        _MainTex ("Base (RGB)", 2D) =

2017-02-23 14:39:17 2322

原创 unity3d dll 热更新

char* ReadStringFromFile(constchar* pathName,int* size){FILE* file = fopen(pathName,"rb");int length =0;int readLength =0;char* outData;if (file ==NULL)    re

2016-12-23 18:30:32 621

翻译 unity3d mask

Shader "Custom/Unlit Flat Circle v2" {    Properties {        _MainTex ("Main Texture", 2D) = "white" {}        _Color ("Color", Color) = (1,1,1,1)        _Distort("Distort", vector) = (0.5, 0

2016-08-10 11:57:18 444

原创 html canvas 自适应

--> -->html body{  height:100%;  width:100%;  margin:0px;  border: 0;  overflow: hidden;  /*display: block;*/};/*#myCanvas{  height:100%;  width:100%;  margin:0;};*

2016-04-07 11:04:44 2066

原创 [OpenGL]Vertex Specification

顶点数据

2016-02-18 16:19:37 809

转载 FrameLayout, Your Best UI Friend

FrameLayout, Your Best UI Friend10 Oct 2013You have probably already used FrameLayout (doc) for what it’s named, adding a decoration around other content element. It can actually be much m

2015-01-15 09:14:09 588

转载 centos 安装 django

Install PrerequisitesInstall Apache.Ensure it’s working, including ensuring the firewall lets traffic through.Install MySQLInstall revision control or however you pull software, e.g.

2014-12-08 11:36:08 492

原创 wp评分 api

MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();marketplaceReviewTask.Show();

2014-09-12 14:14:37 486

原创 判断两个线段是否相交

给出两个线段(p1, q1) 和(p2, q2)

2014-08-12 18:52:47 675

原创 Unity Bug

当摄像机是正交的时候, OnMouseDown

2014-05-23 15:27:23 611

原创 unity 使用xcode5.1 launching iOS project via Xcode4 failed

unity在使用Xcode5.1时,build&run 会抛出异常的,zhe s

2014-05-16 09:00:57 3108 1

原创 graphics pipeline

2014-04-09 11:40:36 458

原创 Runtime Engine Architecture

2014-03-17 17:20:48 467

原创 一些开源引擎

OGRE, Panda, Yake, Crystall space, Torque, illlicht

2014-03-17 16:12:44 448

Mathematics for 3D Game Programming and Computer Graphics

2016-12-30

c/c++程序调用 堆栈分析 汇编

附件中时我对c/c++程序调用中用到的堆栈进行的分析

2012-03-14

内存管理模拟软件-随机访问内存

内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。 内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。 当我们申请内存的时候,计算机到底为我们做了什么呢?

2009-12-25

哈希表--关键字字符串

/* *@parameter key is the value it need to convert *@parameter len is the length of key,but not the size of the array *@parameter len_table is the size of table * * */ int replicate(char key[], unsigned int len, unsigned int len_table);

2009-09-11

局域网聊天 -- C#UDP广播

最进由于需要,所以自己用将近五天的时间,写了这个软件。 功能 1.局域网聊天 2.传送文件(现在还没有添上去) 所以我用了近一周的时间谢了这个软件,还有些未完善的部分。 局域网聊天和会议室开会已经完成。 后面的东西我会相继写出来的,希望对大家有用。 请大家多多指教

2009-06-05

无重复的随即抽签器--c#编写(有点错误,请下载上面的资源http://download.csdn.net/source/1202563)

最近因为一个比赛要一个随即选题(n个人的题不能有重复)的计算器,用传统的抽签方式太费时了。所以就写了这个软件。(有点错误,请下载上面的资源http://download.csdn.net/source/1202563)

2009-04-12

二叉树 线索华二叉树 递归非递归的实现

二叉树的初始化销毁 以及 各种遍历(先序遍历中序遍历后序遍历层次遍历)的递归和非递归的是实现 最后是线索化二叉树的实现。

2008-12-12

数据结构 矩阵的实现

矩阵在很多方面都起着作用,希望这个程序对学数据结构的人有点帮助,里面包含了矩阵的简单操作,矩阵初始化,销毁,赋值等功能

2008-11-26

C++ 公司管理系统

一个用c++做的 公司管理系统,运用了控制台中的一些知识,希望对大家有用....

2008-11-20

Snake Game

这是我初学SDL和c++时自己写的Snake Game。希望大家能够评价一下

2008-10-27

空空如也

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

TA关注的人

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