- 浏览: 224447 次
- 性别:
- 来自: 上海
-
最新评论
文章列表
node.js使用axon模块
- 博客分类:
- linux网络编程
axon是一个很好的底层通信框架,在socket的基础上封装了很多功能。
它一个有四种模式:
push / pullpub / subreq / reppub-emitter / sub-emitter
1.push/pull模式:模式特点,单向单发,服务器发消息,客户端接受消息。而且是每条消息只被一个客户端接受到。
2.PUB/SUB模式:模式特点,单向群发,服务器发消息,客户端接受消息,而且是每条消息都会被每个客户端收到。在axon模块里有两组API实现pub和sub消息推送。
pub & sub:
PubSocket.prototype.send = f ...
NGUI 组件 ScrollView
- 博客分类:
- U3D
最近在用这个控件,它算是NGUI里面比较综合复杂的组件了,正因为如此,有必要捋一捋与之相关的脚本的功能。
一般来说组件的层次关系是这样的,中间这个grid主要起布局作用,个人觉得直接算每个sprite的位置也是一样的。但是呢,有一个比较特殊的用法,有需要结合grid布局来用,所以还是留着比较好。
ScrollView:
必须有UIPanel和UIScrollView两个脚本组件,也可以有SpringPanel组件。UIPanel主要是作为一个容器,这里一般都需要设置clipping裁剪类型,只要不是NONE就好,一般用softclip。UIScrollView 主要是用来控制拖拽 ...
NGUI 组件 UIButton
- 博客分类:
- U3D
NGUI的button控件,它是由UISprite,UIButton,Box collider,UIPlay Sound这几个脚本组成。UIButton继承自UIButtonColor脚本。从功能上划分,UISprite应该只是描述图片资源的源的位置的,Box collider用来做碰撞检测,但是这个玩意是怎么用的暂时还不清楚。UIPlay Sound播放声音。
UIButton主要是设置四种状态下的颜色和图片。
这里说些需要注意的东西:
1.Pixel Snap:这个勾选的意思是,图片不拉伸,按照原始大小显示。这个在有些按钮点击会缩放的时候很有用,但是对于那些想拉伸图片的按钮来说 ...
lnmp web服务器搭建
- 博客分类:
- linux网络编程
LNMP = Linux + Nginx + MySQL + Php,是一套linux系统环境下搭建web服务器的解决方案。
NGUI 屏幕自适应
- 博客分类:
- U3D
由于恶心的移动终端市场没有规范,各种比例大小的屏幕满天飞,导致在设计手机界面的时候很头疼。这里需要解决两个问题,一个是防止被裁剪,一个是防止留黑边。
关于UIRoot组件的scaling style属性,另外一篇文章有说http://l ...
U3D 发布 Android
- 博客分类:
- U3D
http://game.ceeger.com/Components/class-PlayerSettings.html 一篇很详细的介绍
U3D打包Android的APK的时候,会有一些选项,这里对重要的给出说明。
Texture compression:纹理压缩
1.DXT:DXT是一个系列,是DirectX系API支持的压缩方式,在手机上被Te ...
NGUI 组件 UIRect
- 博客分类:
- U3D
UIRect:是常用控件的父类,他主要控制Anchors锚点
Type:有三种类型,None,Unified 和 Advanced,advanced是全集,但一般用Unified 就够了。advanced会分别为四条边指定不同的停靠对象。
Left,Right,Bottom和Top:这四个是指当前组件的四条边,UI Root 是当前组件停靠的参照对象。除了参照对象以外,还有具体参照的边,主要有上下左右中五个参照对象。
总结:UIRect作为控件的父类,它主要的作用就是控制控件的大小和位置,这里的位置是相对参考组件的位置。UIRect用来12个Anchors点来描述这些信息,其中8个 ...
UIAnchor 和 UIStretch 算是NGUI的两个布局组件,UIAnchor是类似锚点的做法,标记一个与父容器的相对位置。
UIAnchor:
Side:以什么方式进行停靠。
public enum Side
{
BottomLeft,
Left,
TopLeft,
Top,
TopRight,
Right,
BottomRight,
Bottom,
Center,
}
Relative Offset:相对于Camera,或Container的百分比偏移。 Pixel Offset:像素的偏移。
...
NGUI 组件 UIRoot和UICamera
- 博客分类:
- U3D
UIRoot:
public class UIRoot : MonoBehaviour
{
static public List<UIRoot> list = new List<UIRoot>();
public enum Scaling
{
PixelPerfect, // 像素不变,大小变
FixedSize, // 大小不变,像素变
FixedSizeOnMobiles,
}
public Scaling scalingStyle = Sca ...
U3D项目与APK目录对应关系
- 博客分类:
- U3D
如果想了解U3D打包APK做了什么,搞清楚U3D项目和APK项目的目录的对应关系是很重要的。
U3D:下面这几个文件夹在U3D项目里是有特殊意义的,我不清楚为啥不新建项目的时候直接把这几个目录建出来。APK:
1.第三方dll和so:
...
js 上下文(this)
- 博客分类:
- linux网络编程
重点:在js中所有的代码都有其上下文环境,从面向对象的角度来说,就是一个对象必然是一个更大的对象的一部分。而你创建的这个对象,拥有它的外部对象会被他使用,以this指针的形式。但是现在有个问题,当方法从一个对象传递到另外一个对象的时候,它的外部环境发生改变,导致this会在运行时发生改变。正是因为this指针会被改变,所以需要用一个缓存的机制,来存储当前确定的这个this值。
if(!Function.prototype.bind){
Function.prototype.bind = function(obj){
var self = this;
return func ...
一个process对象是一个 EventEmitter实例。
事件类型:
1.exit:
当进程结束的时候发出此事件,一旦执行退出事件,所有的消息队列都会终止,所以必须保证消息的并发性。
process.on('exit', function(code) {
// do *NOT* do this
setTimeout(function() {
console.log('This will not run');
}, 0);
console.log('About to exit with code:', code);
});
2.un ...
node.js 模块加载
- 博客分类:
- linux网络编程
node.js的模块加载功能主要是在module.js文件里面实现的。从var routes = require('./routes/index');这个不陌生的方法开始分析。
Module.prototype.require = function(path) {
assert(typeof path === 'string', 'path must be a string');
assert(path, 'missing path');
return Module._load(path, this);
};
_load:
Module._load = funct ...
nodejs源码分析
- 博客分类:
- linux网络编程
(只是简单的分析一下nodejs的代码,看看大概的东西)
node_main.cc:只是一个入口而已
int main(int argc, char *argv[]) {
return node::Start(argc, argv);
}
node.cc:
int Start(int argc, char *argv[]) {
// This needs to run *before* V8::Initialize()
// Use copy here as to not modify the original argv:
Init(argc, argv_ ...
node.js 源码分析
- 博客分类:
- linux网络编程
node.js脚本文件是node.js的js部分的入口。它里面有几个重要的对象:
1.NativeModule:
Nodejs的模块分为两部分,一部分是用C实现的模块,比如:buffer、stdio等,另一部分是用js实现的模块比如net、dns等。对于C的模块,nodejs通过node.h提供的NODE_MODULE方法将模块存储在变量_module里。在srcde_extensions.cc中提供了get_builtin_module(name)接口获取这些模块;而对于js的模块,nodejs在srcde.js中实现了一个NativeModule对象用于管理js模块,它通过调用pro ...