自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (5)
  • 收藏
  • 关注

原创 python中数组(numpy.array)的 基础操作

为什么要用numpyPython中提供了list容器,可以当作数组使用。但列表中的元素可以是任何对象,因此列表中保存的是对象的指针,这样一来,为了保存一个简单的列表[1,2,3]。就需要三个指针和三个整数对象。对于数值运算来说,这种结构显然不够高效。Python虽然也提供了array模块,但其只支持一维数组,不支持多维数组(在TensorFlow里面偏向于矩阵理解),也没有各...

2020-01-22 16:30:44 564

原创 python 字典的get 方法

# -*- coding: utf-8 -*-datas = { 1: {'dexterity': 10, 'mp_max': 97, 'money': 0, 'exp': 10, 'sex': 1, 'spaceUType': 1, 'defense': 19, 'anger': 0, 'speed': 11, 'intellect': 5, 'modelID...

2020-01-21 18:07:24 274

原创 C# 单例模式(Singleton) 与 python实现

单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师把其称为设计模式之一。1. Windows的Task Manager(“任务管理器”,不是“文件资源管理器”)是很典型的单例模式,还有自带的windows media player播放...

2020-01-16 08:38:51 446

原创 Python中append和extend的区别

编者注:本文主要参考了《Python核心编程(第二版)》网上有很多对这两个函数的区别讲解,但我觉得都讲的不是很清楚,记忆不深刻。这样解释清楚且容易记住。list.append(object) 向列表中添加一个对象objectlist.extend(sequence) 把一个序列seq的内容添加到列表中使用append的时候,是将new_media看作一个对象,整体打包添加到mu...

2020-01-13 14:39:51 421

原创 python 的继承之override方法重写

什么是overrideoverride字面理解是无效,消除的意思,在Python里两个同名的方法但执行不同程序,其中一个方法使得另外一个方法无效的,这就叫override(重写)。通常情况下,父类中的方法,而子类中有同名方法,在执行该方法时,调用的是该方法对应的类。值得一提的是,这里父类和子类在原文中是superclass(总纲)和subclass(亚纲),用的是生物学术语,反应出计算机中...

2020-01-13 12:12:59 1966

转载 kbengine 在IDE如PyCharm中添加语法提示

下载https://github.com/kbengine/kbengine_docs整个项目后找到如下文件https://github.com/kbengine/kbengine_docs/blob/master/python3.x_generate_python_tips.batwindows中双击这个批处理能够通过API文档生成KBEngine.py,其中包含了函数原型和注释。使用方...

2020-01-13 10:23:21 912

原创 kbengine 登录login过程

服务端部分:1:服务端loginapp.cpp中“void Loginapp::login(Network::Channel* pChannel, MemoryStream& s)”被触发, 这个函数进行了一系列的检查,确定合法后向dbmgr发送一个登陆请求包“(*pBundle).newMessage(DbmgrInterface::onAccountLogin);”, dbmgr也...

2020-01-08 21:47:17 867

原创 kbengine 开启报错 Can modify the components-CID and UID to avoid conflict

INFO root [2020-01-08 16:21:44,953] - ---- dbmgr is running ----DEBUG root [2020-01-08 16:21:44,953] - Components::process(): Request for the process of identity...ERROR root [2020-01-08 16:21:45...

2020-01-08 16:58:56 1490

原创 KBEngine简单RPG-Demo源码解析 二

十四:在世界中投放NPC/MonsterSpace的cell创建完毕之后, 引擎会调用base上的Space实体, 告知已经获得了cell(onGetCell),那么我们确认cell部分创建好了之后就可以开始投放NPC出生点了。(注意:这里并不是直接将NPC/Monster创建出来,而是先在对应的位置创建了一个出生点, 出生点的好处是可以根据一定规则, 当NPC/Monster在某区域减少的时...

2020-01-06 22:34:45 241

原创 kbengine 的初始登录账号注册过程

客户端:服务端:服务端接收到了来自客户端的一条创建账号的协议,并解析出了账号名与密码,在_createAccount函数中会将这条请求最终送到dbmgr,dbmgr检查之后决定是否创建数据库账号,并最终将结果返回到loginapp然后由loginapp将结果中转至客户端。客户端接收基本设...

2020-01-06 21:39:18 1493 1

原创 epoll基本原理二: Epoll 比 Select 高效的原因

从事服务端开发,少不了要接触网络编程。Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,Nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。Epoll 很重要,但是 Epoll 与 Select 的区别是什么呢?Epoll 高效的原因是什么?网上虽然也有不少讲解 Epoll 的文章,但要么是过于浅显,或者陷入源码解析,很少能有通俗易懂的...

2020-01-04 10:10:43 512 1

原创 epoll基本原理一: Event-poll 异步I/O工作流

其实我一直不习惯poll流的模型,我比较喜欢iocp的模型,虽然理论上来讲poll会给予应用层更多的变化点。打个不太形象的比喻,你让poll或者iocp给你准备三辆车。你给poll说完,poll稍后会告诉你:老爷,车备好了,在车库里,但具体有几辆我也不清楚,您自个去看看。你给iocp三把钥匙,iocp稍后会告诉你:老爷,三辆车准备好了,就停在门外。)首先我们来定义流的概念,一个流可以...

2020-01-04 09:42:39 444

原创 python异步IO并发单线程协程gevent

转载自https://www.liaoxuefeng.com/wiki/1016959663602400/1017959540289152在学习异步IO模型前,我们先来了解协程。协程,又称微线程,纤程。英文名Coroutine。协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过...

2020-01-02 08:20:33 434

原创 “socket.error: [Errno 10048] Address already in use通常每个套接字地址(协议/网络地址/端口)只允许使用一次”

一、原因浅析今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关文档才知道在socket编程中,当通过客户端向服务器端发送消息,关闭了连接后,这时如果马上再去运行服务器端程序,会提示这个错误:复制代码代码如下:socket.error: [Errno 98] Address already in use...

2020-01-01 16:40:04 2701

相机畸变矫正标定棋盘格打印图

相机畸变矫正标定棋盘格打印图

2022-12-16

Deforming_Pages_of_3D_Electronic_Books_sketches_01.pdf

u3D翻书效果 Deforming_Pages_of_3D_Electronic_Books_sketches_01.pdf

2020-05-08

手游核心技术实战.pdf

举例来讲,Unity3d流行使很多C++阵营的人一夜之间用上C#,Cocos2d-x的流行又使人离不开C++。苹果的手机漫天都是的时候,Object-C也就成为了很多开发者必须要会的东西。所以,选择的时候,首要的不是语言,而是你选择用什么东西做游戏。语言只是其中的一部分,不能本末倒置。 在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途

2020-02-23

现代游戏开发工作流.pptx

程序部 码农们的家乡 程序猿的部落 头发的战俘集中营 先说这个整个部门啊 程序游戏程序员 需要学习什么语言呢 这要看是什么游戏 如果是页游 一般需要AS3或者是HTML6 如果是手游平台 那一般是JAVA 如果是PC和游戏机 那一般是C++ 我主要说的是另一个 我认为这个部门的所有职位都必须要非常了解游戏 可能很多人觉得 只要代码写得好就好啦 诶不是啊 这个部门的人懂不懂游戏 对游戏的整体品质有极大的影响 因为如果这个部门的人对游戏不熟悉 他们将很难抓住一些细节的东西 设计部或者技美还是会提出细节的需求 当然这个前提是这些人也有大量游戏经验 如果像国内很多团队那样 这个需求就算交货了 但就算他们能够提出更细节的需求 第一 如果每个细节都得说那么清楚 那工作量和沟通成本会呈指数放大 第二 这里面还是很多的东西是别人从表面看不出来的 甚至根本不知道怎么提出需求 比如如果这个图标拖出去的时候 这个技能刚好没了呢 比如这是个武器技能 刚好这个武器突然坏了呢 或者晚点把这个图标拖到了正在cd的技能上的 又或者把他的背包格子呢 又或者拖出来的的时候没有放左键情况下按了右键 我原本右键是可以触发技能的呢 等等这些情况到底应该发生什么事情 一个熟悉和不熟悉游戏的程序员 考虑到的是完全不同的情况 有些情况QA部门能够发现出来 但有些就很难发现 而这个时候就会留下BUG 同理 在战斗系统 升级系统等等各个系统都有这样的例子 比如战神一个按键回收斧头 这能提出一大堆问题 斧头在飞回来的路上碰到小屁孩怎么办 玩家松手了怎么办 放技能了怎么办 换武器了怎么办 播放过场了怎么办 等等一大堆问题 虽然如果出了BUG总会被抓出来 但是一批好的程序员 如果在一开始就能理清这些逻辑 那无疑让游戏整体品质大大提高 所以一个好的游戏程序员 不能什么事都靠设计提需求 靠QA反馈BUG 自己也需要经验和判断 这决定了游戏的成品品质 而想要成为这样的游戏员 只会写代码可不够啊 还需要大量的游戏经验以及 对这些细微之处的观察 观察好的游戏是怎么处理这些奇葩情节 思考他们是怎么编写这些复杂逻辑 方能成为一个好的程序员 那现在说说这个部门各个职位

2020-02-23

LitJson.dll

游戏网络通信的时候,需要传输很多信息,之前都是把各种信息拼接成字符串,然后接收到字符串后在个顺序分割得到信息,但是当信息一多的时候就比较麻烦了.就学习了下json来传输,通过键值对来进行设置信息和解析信息就方便多了,LitJson是一个封装好的C#的Json处理dll,很小只有几十K.就用他进行处理

2020-02-23

unity3d逻辑程序员开发面试题.doc

unity开发面试题目 Unity3d逻辑程序员面试题 姓名: 时间(30分钟)请认真作答,字迹不要潦草 基础题: 1.C# 值类型和引用类型的区别?什么是拆装箱,如何避免 现有一Dictionary testMap ,如何删除key 小于1的元素?

2020-01-01

空空如也

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

TA关注的人

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