- 博客(59)
- 资源 (13)
- 收藏
- 关注
原创 初探unity中的ECS
ECS是一种软件架构模式,就像MVC一样。ECS最早在游戏《守望先锋》中提及到的。ECS具体是指实体(entity)、 组件(component)和系统(system):实体:实体是一个ID,它是一个唯一的标识符,用于标识一个对象,它本身不包含任何数据,只是一个ID,它的作用是用于标识一个对象,它的数据是由组件来提供的。组件:组件是一个数据结构,它包含了一些数据,用于描述一个对象的属性,组件是没有任何行为的,它只是一个数据结构。系统:主要用户逻辑处理,进行状态迁移。系统中不保留数据,且是无状态的。
2024-02-03 17:20:19
2405
原创 lua之async机制
lua中的coroutine本身提供了强大的功能,但是它属于基础API,在实现复杂逻辑的过程中,需要将coroutine进行包装,或者将coroutine的句柄传来传去。针对上面的问题,借鉴C#中task机制,现用纯lua的代码实现了一套async机制。
2023-02-06 22:17:20
1646
原创 lua之coroutine
lua天然支持coroutine, coroutine属于协程而非多线程。通过coroutine.create来创建一个协程,然后调用coroutine.resume启动,当函数中遇到coroutine.yield时协程将会被挂起直到再次调用coroutine.resume。执行结果通过上面的例子我们可以发现当调用完coroutine.create返回的coroutine并不会直接启动,必须通过调用coroutine.resume来启动。
2023-02-06 22:09:24
296
原创 c#中的async和await 以及编译原理
通过上面的简单介绍我们可以看出,async/await往往会和task一起使用,并不是所有的方法都可以被await。那如何才能被await呢?T是编译时的动态类型T有一个无参的GetAwaiter方法,并返回类型为AA必须实现接口INotifyCompletionA要有一个bool的IsCompleted属性A要有一个GetResult方法.更多的文档可以参见未完待续…
2023-01-20 14:52:52
954
原创 csharp 异步编程
当有多个任务需要同时执行,或者有比较费事的操作时但不想阻塞主线程的时候,我们往往会使用到多线程编程,但是多线程编程本身需要很强的多线程编程思维,需要解决诸多问题:如线程锁、线程间的数据同步等问题。csharp提供了异步编程的模式,.net提供了三种模式:基于任务的异步编程(TAP)、基于事件的异步编程(EAP)、异步编程模式(APM)三种模式。
2023-01-18 21:00:35
902
原创 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
969
原创 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
435
原创 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
669
原创 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
4103
原创 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
212
原创 unity3d job
unity C#中的Job system 允许我们编写与unity交互的多线程代码。在写多线程代码时会涉及到很多点:线程池、线程间切换、数据共享以及锁的问题,这些问题使我们很难写出高效安全的多线程代码。然后job system是通过创建job的方式然后又job system统一调用和管理,从而避免了让用户直接去编写多线程代码。 我们编写的job将会放到job qu...
2019-08-03 17:00:37
563
原创 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
743
原创 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
837
原创 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
814
原创 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
441
原创 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
405
原创 c/c++中使用unqlite
本章节记录了如何在c/c++中使用unqlite,我们通过一个官方的例子来开始。 首先需要我们自己下载unqlite文件,通过这个链接 download page 可以下载。我们主要是用里面的两个文件unqlite.h和unqlite.c。 将下面的源码和上面的两个文件放在一起,进行编译并且运行,如果结果为:testHello World说明成功将unqli...
2018-10-23 05:08:09
2192
原创 unqlite简介
偶然间发现了unqlite,在这里记录一下它的使用方法。 unqlite的官网地址https://unqlite.org/index.html unqlite是一个内嵌式的数据库,它实现了一个独立的、无服务器、零配置、事务性的nosql数据库引擎。它是一个文档存储数据库,类似于MongoDB, Redis, CouchDB等,同时也是一个标准的key/value存储类似...
2018-10-23 05:05:09
5623
转载 图形学领域的关键算法及源码链接
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
1694
原创 二微矩阵碰撞检测
//左上(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
895
原创 一个uv对应多个贴图
问题:2d横版游戏中的背景宽带为2屏,并且自动滚屏。解决方案:1.将背景分为两个plane来渲染,通过代码来控制plane的移动。此种方式需要额外的两个plane来做缓存。2.通过shader的uv来控制Shader "Custom/NewShader" { Properties { _MainTex ("Base (RGB)", 2D) =
2017-02-23 14:39:17
2372
原创 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
657
翻译 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
478
原创 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
2098
转载 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
609
转载 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
517
原创 wp评分 api
MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();marketplaceReviewTask.Show();
2014-09-12 14:14:37
510
原创 unity 使用xcode5.1 launching iOS project via Xcode4 failed
unity在使用Xcode5.1时,build&run 会抛出异常的,zhe s
2014-05-16 09:00:57
3150
内存管理模拟软件-随机访问内存
2009-12-25
哈希表--关键字字符串
2009-09-11
局域网聊天 -- C#UDP广播
2009-06-05
无重复的随即抽签器--c#编写(有点错误,请下载上面的资源http://download.youkuaiyun.com/source/1202563)
2009-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人