- 博客(25)
- 收藏
- 关注
原创 服务器运维篇之ssh免密登录、别名登录
本文介绍如何为远程服务器配置免密和别名登录;以及面对管理的大量服务机群,如何快速有效配置跳板机。作者:operhero我们知道远程连接的命令为ssh -p 端口 用户@ip地址当端口为默认的22,当前用户名与远程服务器用户名相同时,命令可简写成ssh ip地址输入命令后按提示数据密码完成登录。问:每次登录都要输入密码,能设置免密登录吗?答:当然可以。...
2019-12-03 00:12:58 337
原创 MySQL组内排序
employee表给出员工id,部门id和薪水,求每个部门的薪水排名(相同薪水算同一排名,排名连续)。创建表CREATE TABLE IF NOT EXISTS `employee`( `id` INT UNSIGNED AUTO_INCREMENT, `department` INT UNSIGNED NOT NULL, `salary` INT UNSIGNED N...
2019-10-09 20:27:33 280
原创 使用unicode编码识别中文字符、字母和数字,包括生僻汉字
查询网络上如何识别中文字符的帖子,发现大部分只判断了常用汉字,即Unicode范围为0x4E00 ~ 0x9FA5。unicode编码最新版本是2009年9月出版的5.2版,对汉字又进行了扩充。以往常说的20902个汉字,在unicode中从0x4e00-0x9fa5,但这不是全部的unicode汉字。最新版的unicode汉字块如下:0x4e00-0x9fff cjk 统一字型 ...
2018-07-04 10:47:53 15154
原创 服务器错题集
========数值溢出问题========对于客户端上传的敏感参数,比如金钱,经验等,服务器通常会验证正负值,防止扣负值的情况发生。在此基础上,要注意另外两种高级的溢出情况:案例1: 玩家有n点属性可分配点,可以随机分配给各个基础属性。客户端上传每种基础属性分配情况,服务器判断每个分配点为非负数,判断总分配点总和小于等于可分配点数 问题数值 :分配
2017-04-27 20:53:20 450
原创 谈谈游戏中新手引导是如何制作的
目前已经历了两款游戏的制作。而两款游戏的新手引导,都是由我来完成的。因此,想写篇文章记录制作新手引导过程中的一些心得。http://blog.csdn.net/operhero1990/article/details/51482734一、新手引导的分类从触发方式上,引导分为强制引导和非强制引导。现在国产游戏上来就是一大段的强制引导,强制玩家点击某一区域来熟悉游戏。强制引导过程中,玩家没
2016-05-23 21:05:14 14965 1
原创 关键字近似搜索(c#以及lua实现版)
浏览器带有智能提示功能,如图:今天就利用算法实现这个功能,并集成在cocos2d游戏中。一、实现原理我们可以构造一个问题集,搜集所有可能的问题,并利用关键词去匹配这些问题。显示匹配出的结果,作为提示。字符串近似匹配算法很多,这里直接用成熟的动态规划(DP)+编辑距离(LevenshTein Distanc)的算法,来实现匹配。先上C#源码:using System;usi
2016-01-23 17:06:40 2358
原创 Cocos2D-X shader(五) cocostudio导出界面置灰及复原lua实现版
利用cocostudio导出的界面,实现界面置灰与复原效果:需要变色的有三种类型控件:普通图片(ImageView),九宫格切图(Scale9Sprite)以及文字(Text)普通图片普通图片比较容易处理,可以直接使用shader来实现。先来看shader代码:-- 默认vertlocal vertDefaultSource = "\n"..
2015-12-29 18:03:44 4425
原创 Cocos2D-X shader(四) 利用shader改变图片色相(Hue)
背景美术给出一套资源后,可以通过改变图片色相,复用同一套资源产生出多套资源的效果:上图中蓝色是原始图片,利用代码改变图片色相后,可以产生效果差异明显的资源出来。像一些传统的游戏,如星际争霸等,都是通过这种技术实现了同一兵种,不同颜色种族的特效。实现理论原理看上去非常神奇的转换,实际上是利用了HSV格式图像处理的技术:传统RGB模型:RGB是一种加色模式 将不
2015-12-14 14:46:05 6847
转载 Cocos2D-X shader(三) Shader and Program编程基本概念
一、本文关注的问题:• Shader and program 对象介绍• 创建并编译一个Shader对象• 创建并链接一个Program对象• 获取并设置uniforms• 获取并设置attributes 在OpenGL ES中,每个program对象有且仅有一个Vertex Shader对象和一个Fragment Shader对象连接到它。
2015-12-12 14:48:48 3083
原创 Cocos2D-X shader(二) OpenGL渲染管线
OpenGL渲染管线 Cocos2D-X底层是基于OpenGL的,所以在变现我们自己的Shader之前,得了解一下渲染管线的知识。如上图所示,OpenGL的渲染管线主要包括: 1、准备顶点数据(通过VBO--顶点缓冲区对象,VAO--顶点数组对象和Vertex attribute来传递数据给OpenGL) 2、顶点处理(这里主要由Vertex Sha
2015-12-10 11:34:12 2618
原创 Cocos2D-X shader(一) 渲染机制
Cocos2D-X渲染机制 Cocos2D-X 从3.0开始引入了一种新的渲染机制,所有的OpenGL渲染代码不再放到每一个node的draw函数里面,而是通过各种RenderCommand封装起来,然后添加到一个渲染队列里面去,最后在每一帧结束时把所有的这些命令都渲染出来。过程如下图所示: 引擎不再使用主线程,而是开辟新的线程对队列中的任务统一进行渲染,这有助于并
2015-12-08 11:25:11 3547
原创 利用观察者模式实现Cocos2DX-lua游戏中的消息管理系统
游戏中某些对象往往需要及时获知其他特定对象状体的改变。为降低类之间的耦合度,可以建立消息管理系统,实现消息的集中与分发。观察者(也叫发布-订阅)模式很容易实现这套系统。观察者模式是一种比较成熟的设计模式,基本概念可以通过百度获得,这里不再赘述。消息管理系统实际分为:管理中心,观察者,订阅者三部分。一、管理中心这里先上实现代码:---- file: msgCenter.lua--
2015-09-19 16:15:54 2762
原创 Cocos2d-X lua 学习笔记之消息弹窗
实现游戏中需要在屏幕底部弹出消息提示弹窗,经过特定时间后渐隐消失。当有新的消息提示时,原来没有消失的弹窗会上移,并继续渐隐直至消失。1、使用cocostudio建立一个最简单的弹窗界面,命名为hintFrame设置黑底的透明度为100/255,这样能起到一个蒙版的效果。两个Label分别显示消息题目和内容。2、创建控制弹窗的lua类脚本,命名为UI_hintFrameloc
2015-07-31 10:39:45 3175
原创 Unicode与UTF-8互转(c语言和lua语言)
1. 基础1.1 ASCII码我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这被称为一个字节(byte). 也就是说, 一个字节一共可以用来表示256种不同的状态, 每一个状态对应一个符号, 就是256个符号, 从 0000000到11111111.
2015-07-24 17:48:32 2461
原创 Cocos2d-X lua 学习笔记之划屏拖尾特效
这里会不断更新记录我的Cocos2d-X lua学习笔记1、触碰或滑动屏幕,产生星星例子特效第一步:生成粒子特效plist文件,命名为touch.plist。用记事本打开,代码如下: angle 0 angleVariance 360 blendFuncDestination 771 blendFuncSource
2015-07-17 16:13:45 2251
原创 lua面向对象编程中冒号与点号的区别
看到一篇博客,详细解释了lua中冒号与点号的用法。文章详细讨论了几种情况,这里对原文作出补充首先,先来一段在lua创建一个类与对象的代码12345678910111213141516171819C
2015-07-17 15:19:51 717
原创 lua语言实现面向对象编程
lua是一个非常轻巧的脚本语言。这里通过几个步骤,说明lua如何实现类的功能。1、通过clone函数复制表function clone( tab_ ) local tab = {} for k,v in pairs(tab) do tab[k] = v end return tabend2、定义类的成员函数new,用于实例化对象Myclass = {}Mycla
2015-07-16 18:00:12 632
原创 Unity3D 太空射击游戏学习笔记
Unity4.3游戏开发项目实战(龚老师编著)第二章太空射击 1、摄像头:透视投影Perspective和正交投影Orthographic的区别。这是个2D游戏,所以选择后者。2、碰撞检测:游戏里飞机发射子弹击碎岩石,岩石撞碎飞机都需要用到碰撞检测。 碰撞检测过程中需要为撞击与被撞击物体加上碰撞体。子弹使用胶囊碰撞体(CapsuleCollider),飞机和岩石使用立方体
2015-03-10 15:30:07 1786
原创 Unity3D实现Billboard效果
功能:写一个脚本,挂载此脚本的物体的Z轴始终朝向摄像机。在编辑状态,挂载这个脚本的物件要朝向Scene视图摄像机,在运行状态要朝向主摄像机。运行时朝向主摄像机:using UnityEngine;using System.Collections;public class LookAtCamera : MonoBehaviour{ // Update is
2015-01-07 17:49:14 7468
原创 .NET Remoting
.NET Remoting可以用来实现远程访问,通过通道(channel)实现两个应用程序域之间对象的通信。Remoting通道有Tcp和Http两种,这里以Tcp为例,Http可以参考原帖:http://blog.csdn.net/doubleyou/article/details/2059351先上一个入门练手例子:Step1:创建类库(DLL)工程RemotingObject
2015-01-04 14:10:07 624
原创 Photon学习笔记(二)
这里通过实现聊天功能来进一步学习Photon。上节中服务端工程中,会添加一个MyPeer类,该类继承自PeerBase。这样,在每次新的客户端连入时,都会实例化一个MyPeer。直接先上代码在做详细解释:创建一个新的类库项目”ChatServer”添加引用ExitGamesLibs.dll, Photon.SocketServer.dll and PhotonHostRuntimeIn
2014-12-29 15:56:03 2035 2
原创 ProtoBuf-net
下载:开源项目地址如下:https://code.google.com/p/protobuf-net/ProtoBuf-net可用于用于 (1)数据的存储(序列化和反序列化),类似于xml,json等; (2)制作网络通信协议。ProtoBuf-net序列化有两种方式:1、直接使用开源项目提供的ProtoBuf-net r668\Full\uni
2014-12-23 11:02:23 1229
原创 ProtocolBuffer之Windows配置&C++实例
资源包下载地址为:http://code.google.com/p/protobuf/downloads/ ,之前网络一直有问题,没有下载成功最新版本,从CSDN上下载了2.3.配置:1、解压压缩包后,会得到类似于下面的文件列表:2、在解压后的文件夹中,打开vsprojects目录,目录中的文件如图所示:打开libprotobuf.vcp
2014-12-22 16:32:57 2122
原创 Photon学习笔记(一)
公司需求要了解photon+unity3d的部署与使用,今天开始研究photon。首先实现登陆服务器功能。首先去PhotonServer SDK下载服务器端SDK,需要登录的,就先注册一个账号吧.解压出来是四个文件deploy:主要存放photon的服务器控制程序和服务端Demodoc:顾名思义,文档lib:Photon类库,开发服务端需要引用的src-se
2014-12-18 17:13:43 1517
原创 Unity3d局域网PVP系统
Unity3d局域网PVP系统主要用来实现局域网对战功能,玩家可以建立自己的主机,其他玩家可以访问到该主机并使用RPC进行数据传输。建立LANPVPMng.cs脚本来实现以下功能:1、玩家建立局域网主机;2、玩家搜索局域网其他玩家建立的主机;3、玩家与玩家建立连接,进行数据传递。using UnityEngine;using System.Collections;using
2014-12-10 16:33:53 4476
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人